JFinal/AOP

雷曜灿
2023-12-01

拦截器


Interceptor触发
AOP分为控制层AOP和业务层AOP。控制层拦截器的触发,只需发起action请求即可。业务层拦截器的触发要先使用enhance方法对目标对象进行增强,然后调用目标方法即可。

Inject拦截器

无需使用Before注解配置拦截器,在使用enhance或duang方法增强时使用参数传入的拦截器。Inject拦截器与Class级拦截器一样,将拦截目标类中的所有方法,执行次序上在Class级拦截器之前。

//设置拦截器

OrderService   service =Enhancer.enhance(OrderService.class , Interceptor.class)


Duang、Enhancer

Duang、Enhancer对目标进行增强,使其具有AOP的能力。

OrderService   service =Enhancer.enhance(OrderService.class )

OrderService   service =Duang.duang(OrderService.class)


Clear

Clear注解用于清除声明在Method以外的拦截器,即只能清除Global、Class或Inject拦截器。

(1)不带参数时清除所有拦截器

(2)带参数时只清除该参数指定的拦截器

(3)清除操作仅作用于Method之外的拦截器


Before

可以配置Class、Method级别的拦截器。

 类似资料: