`
hqman
  • 浏览: 358582 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

java中callback使用

阅读更多
         以前每次看到程序中有回调的字眼,头都是很晕(不理解)。

    看了一个testCase的例子:
// 实现FilterChain new了 一个 特殊的实例  并且覆盖doFilter 方法
这里我感觉还是相当巧妙的,我不用显式定义 继承FilterChain这个抽象类。

 
 
  1.    final FilterChain filterChain = new FilterChain() {  
  2.   
  3.     public void doFilter(final ServletRequest arg0,  
  4.   
  5.             final ServletResponse arg1) throws IOException,  
  6.   
  7.             ServletException {  
  8.   
  9.         System.out.print("run filter");  
  10.   
  11.     }  
  12.   
  13. };  
  14.   
  15. try {  
  16.   
  17.     System.out.print("start filter");  
  18.   
  19.   
  20.   
  21.     this.filter.doFilter(request, response, filterChain);  
  22.   
  23.     assertNull(response.getRedirectedUrl());  
  24.   
  25. catch (IOException e) {  
  26.   
  27.     // TODO Auto-generated catch block  
  28.   
  29.     e.printStackTrace();  
  30.   
  31. catch (ServletException e) {  
  32.   
  33.     // TODO Auto-generated catch block  
  34.   
  35.     e.printStackTrace();  
  36.   
  37. }  



第2个例子:
 
  1. public int executeUpdate(final String hql, final Map pMap) {  
  2.         int result = 0;  
  3.         Object o = getHibernateTemplate().execute(new HibernateCallback() {  
  4.             public Object doInHibernate(final Session session)  
  5.                     throws HibernateException {  
  6.                 int result = 0;  
  7.                 Query queryObject = session.createQuery(hql);  
  8.                 String[] params = queryObject.getNamedParameters();  
  9.                 for (int i = 0, max = params.length; i < max; i++) {  
  10.                     queryObject.setParameter(params[i], pMap.get(params[i]));  
  11.                 }  
  12.                 result = queryObject.executeUpdate();  
  13.                 return result;  
  14.   
  15.             }  
  16.         });  
  17.         Integer i = (Integer) o;  
  18.         result = i.intValue();  
  19.         return result;  
  20.     }  



HibernateTemplate 巧妙使用了 HibernateCallback使得dao 的代码非常优雅!
分享到:
评论

相关推荐

    java中Callback简单使用总结

    下面的代码展示了如何在Java中使用Callback。 **CallBack.java** 文件定义了一个名为`CallBack`的类,包含一个静态内部接口`Callback`,具有`before()`和`after()`两个方法。`CallBack`类的构造函数接受一个`...

    java CallBack(回调函数)

    Java回调函数,也称为Callback机制,是面向对象编程中一种重要的设计模式,它允许一个对象在其他对象执行特定操作后得到通知或者进行后续处理。在Java中,回调通常通过接口来实现,因为Java不支持函数指针。让我们...

    java 中OkHttp的使用方法及实例

    本文将详细介绍如何在Java项目中使用OkHttp,以及两种主要的请求方式。 首先,使用OkHttp前需要添加相应的依赖。通常,你可以通过Maven或Gradle来引入OkHttp及其依赖。在Maven的pom.xml文件中,你需要添加以下依赖...

    Callback_Androidjni_AndoidJNI层到Java层的调用_android_android回调_

    2. **创建头文件 (.h)**:使用`javah`工具(在Android Studio中通常是`javac -h`命令)自动生成C/C++头文件,该文件包含了Java方法的本地签名。例如,上述Java类会生成如下头文件: ```c #include #ifndef _...

    java callback

    java callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava callbackjava ...

    JAVA_API1.6文档(中文)

    java.sql 提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。 java.text 提供以与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。 java.text.spi java.text ...

    【Java 设计模式-源码】Callback 模式:掌握异步通信

    在 Java 开发中,Callback 模式是一种重要的设计模式,用于处理异步通信和事件处理。本文将详细介绍 Callback 模式的意图、解释、编程示例、适用场景、实际应用、优点和权衡。同时,还将提供示例代码的下载链接,...

    Java_JNI_Callback.rar_4 3 2 1_J2SDK1.4.0_Java_JNI_Callback_cl.dl

    compile Callback.java 2. compile the native code into a shared lib cl /Ie:\j2sdk1.4.0\include /Ie:\j2sdk1.4.0\include\win32 /LD /FeMyImpOfCallback.dll Callback.c 3. run: java Callback

    Java中回调方法使用范例

    标题“Java中回调方法使用范例”暗示我们将探讨如何在实际的Java程序中运用回调方法。下面是一个详细的解释: 1. **回调接口**:在Java中,回调机制通常通过定义一个接口来实现。这个接口会包含一个或多个待回调的...

    JNI 回调函数 Callback

    回调函数Callback是JNI中一个重要的概念,它使得Java层能够调用C/C++的函数,反之亦然。 **JNI基础** 1. **JNI接口定义**:在Java代码中,通过`native`关键字声明本地方法。这些方法没有具体实现,而是通过JNI接口...

    hello-jniCallback_jni_android_

    "hello-jniCallback"是一个常见的示例项目,用于演示如何在Android应用中使用JNI来调用C/C++代码,并实现回调机制。这个项目可以帮助开发者理解JNI的基本用法以及如何在Java和原生代码之间传递数据。 1. **JNI基础...

    callBackExample

    标题"callBackExample"指的是一个关于回调的示例应用,可能是为了展示如何在实际项目中使用回调。在这个例子中,我们可能会看到如何定义回调接口,创建回调方法,以及如何在适当的时候调用这些回调来传递结果。 ...

    okhttp的两种callback封装

    在IT行业中,网络请求库是应用开发不可或缺的一部分,OkHttp作为Android和Java平台上的一个高效、易用的HTTP客户端库,被广泛应用于各种项目中。本文将深入探讨如何利用OkHttp进行网络请求,并封装两种Callback处理...

    Android APP 用interface 接口的形式对jni进行回调,实例测试

    在Android应用开发中,JNI(Java Native Interface)是Java与本地代码交互的一种方式,它允许开发者使用C++、C等语言编写部分性能敏感或需要利用硬件特性功能的代码。本实例测试主要探讨如何通过Java接口(interface...

    CallBack_DEMO 回调

    在本示例"CallBack_DEMO"中,我们可能正在探讨如何在Java或其他编程语言中实现回调机制。回调通常与异步编程相关,尤其是在处理I/O操作、网络请求或者时间事件时,它能让程序在执行完成后继续执行后续操作,而不是...

    详解Observer Pattern(观察者模式)在Java中的使用原理

    对于C#的委托、代理概念所使用的Callback(回调模式--参见本人的“第一个C#程序Hello World ”资源)来看,Java Swing编程是纯粹的OO语言、是一种非常优雅的编程语言(本人认为)--而C#的学习好像非常强调所谓的OO思想...

    Java中的回调使用

    在Java编程中,回调是一种设计模式,用于在特定事件发生时通知对象或执行代码。这种模式常见于异步编程和事件驱动系统中。回调的概念基于一个简单的思想:当某个操作完成或者达到某个条件时,一个函数(回调函数)会...

    关于适用于核心 Java、Android 的基于 PubNub Java 的 API

    这个“关于适用于核心 Java、Android 的基于 PubNub Java 的 API”主题涵盖了如何在 Java 和 Android 开发环境中使用 PubNub API 的关键知识点。 首先,我们要理解 PubNub 的工作原理。它是一个基于发布/订阅模型的...

    c调用java源码-article-java-callback:**[Java中的Lambda和其他回调](http://pzemtsov.g

    3. 使用JNI在C代码中调用Java方法并传递Lambda: ```c jobject callbackObj; // 保存Callback对象的引用 // ... 初始化和获取callbackObj ... // 调用Java方法,传入Lambda (*env)-&gt;CallVoidMethod(env, java...

Global site tag (gtag.js) - Google Analytics