三十五、4.6 Duang、Enhancer

Duang、Enhancer 用来对目标进行增强,让其拥有 AOP 的能力。以下是代码示例:

public class TestMain{
    public void main(String[] args) {
    // 使用Duang.duang方法在任何地方对目标进行增强
    OrderService service = Duang.duang(OrderService.class);
    // 调用payment方法时将会触发拦截器
    service.payment(…);
    // 使用Enhancer.enhance方法在任何地方对目标进行增强
    OrderService service = Enhancer.enhance(OrderService.class);
    }

Duang.duang()、Enhancer.enhance()与 Controller.enhance()系方法在功能上完全一样,她们 除了支持类增强以外,还支持对象增强,例如 duang(new OrderService())以对象为参数的用法, 功能本质上是一样的,在此不再赘述。

使用Duang、Enhancer 类可以对任意目标在任何地方增强,所以 JFinal 的 AOP 可以应用 于非 web 项目,只需要引入 jfinal.jar 包,然后使用 Enhancer.enhance()或 Duang.duang()即可极 速使用 JFinal 的 AOP 功能。