java回调机制及Hibernate中的HibernateTemplate实现
谈谈回调吧,以前学java的时候居然没接触到这个词汇,汗,最近研究hibernate和spring结合时,发现spring实现hibernate时应用了回调机制,于是google了很多次,终于有所体会了,现在做下小小的总结,以便加深印象!
java回调机制:
软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。
同步调用是一种阻塞式调用,调用 方要等待对方执行完毕才返回,它是一种单向调用;
回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口
;
异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。回调和异步调用的关系非常紧密,通常我们使用回调来实现异步消息的注册,通过异步调用来实现消息的通知。
这是搜索的一点比较枯燥的理论解释了,算是红体部分让我稍微明白了一点是怎么个回事,然后又看到一个例子,又让我明白不少。
看看在JAVA里的例子:
public class Test{
public static void main(String[] args){
FooBar foo=new FooBar();
/**注意下面的这项代码片段,它给foo对象传递了一个实现ICallBack接口的匿名类,这样FooBar类的对象就取
得了一个实现接口的类,因此FooBar可以在任何时候调用接口中的方法*/
foo.setCallBack(new ICallBack(){
public void postExec(){System.out.println("我(postExec)是在Test类中实现的,但我不能被Test的对象引用,"+
"而由FooBar对象调用
");}
});
}
}
public interface ICallBack(){
void postExec();
}
public class FooBar..{
private ICallBack callBack;
public void setCallBack(ICallBack callBack){
this.callBack=callBack;
}
/*我没有实现接口,但是我取得了一个实现接口的对象,而这个对象是其他类调用我的方法(
setCallBack ())
时所赋给我的,因此
我可以在业务需要的地方来调用实现接口的类里面的方法*/
public void doSth(){
....
callBack.postExec();
}
&n
相关文档:
1、Java.util的集合类中的元素必须是对象化的,他们不能是基本类型。如不能声明Set<char>或List<int>。但对List<Integer>,可以往里面加int型数据,它会用Java的autoboxing机制自动转换成Integer对象。
2、参数化类中的类型参数可以是数组类型,如Map< ......
import java.sql.*;
/*
* JAVA连接ACCESS,SQL Server,MySQL,Oracle数据库
*
* */
public class JDBC {
public static void main(String[] args)throws Exception {
Connection conn=null;
//====连接ACCESS数据库 ......
服务端的webservices的发布是基于jax-ws规范发布的。下面是客户端动态调用的代码,调用的web服务是可配置的。
1:在xml文档里配置webservices的wsdl地址,端口名和操作名
2:提供一个方法读取xml文档,返回一个List
List list= ReadAndWriteXML.getWebServiceWsdlList();
......
有600个苹果,10个盒子,要求把600个苹果分装到10个盒子里。如果有人来买苹果随便说出一个数,直接拿这些盒子组装一下就可以给他不用拆分盒子。请问这10个盒子应该分别装多少苹果?
代码如下
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int box[] = ......
这里对于几个基本的概念 URL TCP UDP Socket 就不加说明了,这里仅仅是记录一些学习日志备忘。
1:如何定义相对资源
假设有如下两个资源 :
http://www.gamelan.com/pages/Gamelan.game.html
http://www.gamelan.com/pa ......