参考:http://abc08010051.iteye.com/blog/1965526
callback模式 在spring-hibernate中的应用
public interface HibernateCallback<T> { public T doInHibernate(SqlSession session); }
public class HibernateTemplate {
public <T> T doExcute(HibernateCallback<T> callback) {
//获取数据库session
SqlSession session = new SqlSession();
//开启事务
T result = callback.doInHibernate(session);
//关闭事务
return result;
}
}
public class Main { public static void main(String[] args) { Object result = new HibernateTemplate().doExcute(new HibernateCallback<Object>() { @Override public Object doInHibernate(SqlSession session) { // TODO Auto-generated method stub return null; } }); System.out.println(result); } }
由此可见,在此处使用回调模式,公共部分的操作都放在了hibernateTemplate的doExcute方法里,具体的实现让程序员来实现HibernateCallback回调接口,从而实现具体的逻辑,本人感觉这是CallBack模式的一大优点
浙公网安备 33010602011771号