切面的优先级
相同目标方法上同时存在多个切面时,切面的优先级控制切面的内外嵌套顺序
1.优先级高的切面:外面
2.优先级低的切面:里面
使用@Order注解可以控制切面的优先级
1.@Order(较小的数):优先级高
2.@Order(较大的数):优先级低
补充:切面的优先级可以通过@Order注解value属性设置优先级,默认值Integer的最大值,@Order注解的value属性值越小,优先级越高
案例:
将切面类和目标类作为IOC的组件

将切面类和目标了作为IOC的组件,将其添加注解

添加一个检测的方法

测试结果:

使用Order注解来设置优先级

测试结果:
基于XML的AOP实现
创建一个xml的配置文件

结果如下所示:

在配置文件中添加代码如下所示:
测试方法:

测试结果如下所示:
本文介绍了在多个切面同时作用于同一目标方法时,如何通过@Order注解设定切面的优先级,以控制切面的执行顺序。优先级高的切面会先于优先级低的切面执行。

被折叠的 条评论
为什么被折叠?



