4.6 Enhancer、Duang

  1. EnhancerDuang 用来对目标进行增强,让其拥有AOP的能力。以下是代码示例:
  1. public class TestMain{
  2. public void main(String[] args) {
  3. // 使用Duang.duang方法在任何地方对目标进行增强
  4. OrderService service = Duang.duang(OrderService.class);
  5. // 调用payment方法时将会触发拦截器
  6. service.payment(…);
  7.  
  8. // 使用Enhancer.enhance方法在任何地方对目标进行增强
  9. OrderService service = Enhancer.enhance(OrderService.class);
  10. }
  11. }
  1. Duang.duang()、Enhancer.enhance()与Controller.enhance()系方法在功能上完全一样,她们除了支持类增强以外,还支持对象增强,例如duang(new OrderService())以对象为参数的用法,功能本质上是一样的,在此不再赘述。
  2. 使用DuangEnhancer类可以对任意目标在任何地方增强,所以JFinalAOP可以应用于非web项目,只需要引入jfinal.jar包,然后使用Enhancer.enhance()或Duang.duang()即可极速使用JFinalAOP功能。

< 4.5 Interceptor的触发

4.7 Routes级别拦截器 >

原文: http://www.jfinal.com/doc/4-6