内部类和回调
来源:互联网 发布:音乐裁剪合并软件 编辑:程序博客网 时间:2024/06/05 02:23
下面是spring中HibernateTemplate部分源码及测试类,看过后应该就能了解回调是怎么一回事:
public interface HibernateCallback {
Object doInHibernate(Session session) throws HibernateException, SQLException;
}
class HibernateTemplate{
public Object execute(HibernateCallback action) throws DataAccessException {
return doExecute(action, false, false);
}
protected Object doExecute(HibernateCallback action, boolean enforceNewSession, boolean enforceNativeSession)
throws DataAccessException {
//·························
Object result = action.doInHibernate(sessionToExpose);
//························
}
public class Test extends HibernateDaoSupport {
public void test() {
List list = (List) this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query q = session.createQuery("from Employee");
List list = q.list();
return list;
}
});
}
public static void main(String[] args) {
Resource rs = new ClassPathResource("applicationContext.xml");
XmlBeanFactory fac = new XmlBeanFactory(rs);
Test t = (Test) fac.getBean("testa");
t.test();
}
}
至于内部类,它的作用如下:
1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。即内部类实例对包含它的
哪个类的实例来说,是特权的。
2.对于同一个包中的其他类来说,内部类能够隐藏起来,换句话说,内部类不管方法的可见性如
何,那怕是public,除了包容类,其他类都无法使用它。
3.匿名内部类可以很方便的定义回调。
4.使用内部类可以非常方便的编写事件驱动程序。
看了上面的代码应该很容易理解这几句话的意思。
- 内部类和回调
- Java -- 内部类, 成员内部类,局部内部类,匿名内部类,闭包和回调, 枚举类
- 内部类(inner class)和回调(callback)
- Java_使用内部类模拟闭包和回调
- Java内部类(2): 用法和回调
- Java 内部类(成员内部类、局部内部类、静态内部类和匿名内部类)
- 内部类相关——定义、匿名内部类、回调实现及静态内部类
- 内部类---静态内部类和非静态内部类
- 内部类---局部内部类和匿名内部类
- 内部类和静态内部类
- 关于静态内部类和内部类
- 内部类和匿名内部类
- 内部类和匿名内部类
- 内部类和匿名内部类
- 内部类和匿名内部类
- 内部类和匿名内部类
- 内部类和匿名内部类
- 内部类和匿名内部类
- 大数据量插入
- oracle install
- IT人不要一辈子靠技术生存(转)
- updateprogress加入Cancel功能
- 在VBA中用Jmail发邮件代码
- 内部类和回调
- 希望在这里能学到一些新东西
- Java IO 包中的Decorator模式
- 用mciSendString函数播放mp3
- IMS学习笔记一
- 让AIR确保捕捉Key事件
- 用windows dos命令查看端口使用情况
- JAVA IO流的应用
- windows xp 自动登陆