Duang、增強器
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 功能。