本例拿 apache commons dbutils 举例
回调函数:
回调是指在执行时,具体的封装处理工用由第三方的类来实现。
回调一般由两部分组成
1:调用类-QueryRunner。实例类
2:回调规范 – ResultSetHandler。一般是一个接口。
3:回调规范定义回调方法且这个方法由调用类调用。
在实现了了这些实现类的时候,为什么就那么智能的返回我们想要到结果呢?
第一个例子:
- package com.tpf.callback;
- import java.util.List;
- import java.util.Map;
- /** * 这个是一个动态返回类型的 回调 * Title:CallbackDemo*Description:*Company: www.vfinance.cn* @author tianpengfei * @date 2016年8月10日 下午1:55:52 */
- public class CallbackDemo {
- public static void main(String[] args) { //使用 Runner run = new Runner(); run.query("pengfei", new RunnerHandler>>() { @Override public List> handler(String sql) { return "hello world"; } }); } } /** * 第一步:定义调用类 */ class Runner{ public T query(String sql,RunnerHandler rh){ return rh.handler(sql); } } /** * 第二步:定义回调规范 * @param */ interface RunnerHandler{ T handler(String sql); }
来源: http://www.92to.com/bangong/2016/12-03/13846193.html