JDBCTemplate.java中execute(ConnectionCallback<T>)和execute(StatementCallback<T>),通过参数把需要执行的具体动作注入到写好的模板中。
AbstractJdbcInsert中通过jdbcTemplate.execute(new ConnectionCallback())调用ConnectionCallback()中的doInConnection(**);
内部类起到了初始化类的实例的作用
Javaeye两个会员的理解,我觉得比较到位.
冉翔:
就是调用系统的一个方法,传进去一个接口的实现类 or 匿名类。
然后系统的方法调用接口申明的方法,并且注入相应的参数
Buaawhl:
IoC, Functor, Visitor 都是 callback。
就是一个 Template Methond 里面的flow不变,某一个步骤的具体操作变化,这个变化部需要 从外部(参数,或者属性,或者 override parent method)注入。