java回调函数实例(Struts2源码)

首先举例说明什么是回调函数,程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。目的达到。在struts2的源码中就有这样的例子:

com.opensymphony.xwork2.inject.ContainerImpl中有如下方法

此外还有这个回调接口:

以下是在注入方法中进行了调用:

从以上代码中可以看到,在new ContextualCallable接口的实例进行传参后,我们可以在接口提供的call方法中写一些处理的代码,而这段代码会主调方法callInContext来进行回调。这样就达到了扩展性的目的,callInContext方法是事先写好的代码,但是其中可动态插入调入者的代码逻辑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值