详解Java回调机制 (Callback) 讲解+实例
Java中的回调(callback)是很重要的一个概念,spring整合hibernate大量使用了这种技术。
究竟怎样才是回调呢?
这是网上最多见到的说明:
1.class A,class B
2.class A实现接口callback
3.class B拥有一个参数为callback接口类型的函数
4.class A运行时调用class B中的函数,以自身传入参数
5.class B已取得A,就可以随时回调A所实现的callback接口中的方法
下面我举一个例子:
中国电信(ChinaTelecom)是移动运营商之一,想必近两年满天飞的“天翼3G”大家都知道吧。空中网(KongNet)是那个总是喊“用手机看NBA”的服务提供商(ServiceProvider,简称“SP”)。
移动运营商和SP合作才能为我们广大移动用户提供各种服务。比如音乐,彩铃,手机看NBA等等。
这里有一个接口ServiceProvider,也就是Callback接口;
/**
* 与中国电信合作的sp实现此接口即可
* 这个就是Callback接口
* @author wanghe
*
*/
public interface ServiceProvider {
/**
* sp可以自定义提示
*/
public void customHint();
}
一个ChinaTelecom类,即class B;
/**
* 中国电信
* @author wanghe
*
*/
public class ChinaTelecom {
private ServiceProvider sp;//callback接口作为属性
public void setSp(ServiceProvider sp) {
this.sp = sp;
}
/**
* 初始化
*/
public void init(){
System.out.println("Welcome, This is ChinaTelecom! ");
sp.customHint();//sp自定义的操作
}
}
一个KongNet类,即 class A
/**
* 服务提供商(SP)--空中网
* @author wanghe
*
*/
相关文档:
问题:在存储过程中,有时会遇到比较变态的东西,如一个存储过程中有output返回值,有return返回值,还有查询的返回值TABLE,遇到这样的存储过程真是郁闷,一次性把所有的返回值取出来还真的有点麻烦。
1、 首先来看这个存储过程吧
CREATE PROCEDURE ParaTest
@paraout varchar(20) ......
1.首先是工具比如Eclipse很方便了。
2.用winrar之类的工具,把web-info目录,及跟它同级的所有目录及文件,打包成 zip文件就行了,然后把扩展名改成war!
3 Jar命令:
假定有一个Web应用:C:\myHome
myHome/WEB-INF/……
myHome/files/……
myHome/image/… ......
/*===================MXML代码==================*/
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Button label="测试Array" click="bk()"/>
<mx:Script>
<!--[CDATA[
import mx.collection ......
Java iText 动态 生成 PDF 文档 表格 中文问题
iText是一个开发源代码的项目,你可以使用iText方便的实现PDF的输出。
一、iText的下载:
你可以在 http://www.lowagie.com/iText/ 查看关于iText的相关信息,包括源代码,文档..
1. itext-src-1.4 ......
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。
Collection
├List& ......