切面的优先级、基于XML的AOP实现

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

切面的优先级

相同目标方法上同时存在多个切面时,切面的优先级控制切面的内外嵌套顺序

        1.优先级高的切面:外面

        2.优先级低的切面:里面

使用@Order注解可以控制切面的优先级

        1.@Order(较小的数):优先级高

        2.@Order(较大的数):优先级低

补充:切面的优先级可以通过@Order注解value属性设置优先级,默认值Integer的最大值,@Order注解的value属性值越小,优先级越高

案例:

将切面类和目标类作为IOC的组件

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

 添加一个检测的方法

测试结果: 

 使用Order注解来设置优先级

测试结果:

 

 基于XML的AOP实现

创建一个xml的配置文件

 结果如下所示:

 在配置文件中添加代码如下所示:

 测试方法:

测试结果如下所示:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&jhan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值