@Around环绕增强
虽然Around功能强⼤,但通常需要在线程安全的环境下使⽤。因此,如果使⽤普通的Before、AfterReturing增强⽅法就可以解决的事
情,就没有必要使⽤Around增强处理了。
Proceedingjoinpoint继承了JoinPoint。是在JoinPoint的基础上暴露出proceed这个⽅法。proceed很重要,这个是aop代理链执⾏
的⽅法。暴露出这个⽅法,就能⽀持aop:around这种切⾯(⽽其他的⼏种切⾯只需要⽤到JoinPoint,这跟切⾯类型有关),能决定是否
⾛代理链还是⾛⾃⼰拦截的其他逻辑
PointCut连接点注解类
说明:
这是⼀个注解类型:@interface
类中设置了⼀个methodName属性;
定义切⾯类
说明:
@Around定义了此⽅法为Around增强处理⽅法;
@annotation(around):参数around应该与增强处理⽅法中的参数名保持⼀致,该声明指定了pointcut连接点,也可以使⽤其他
⽅式,如:
pointcut="execution(*.*.*(..))";
d()调⽤了⽬标⽅法,并获取其返回值;
--添加注解声明
在上⾯定义@Around增强时,通过@annotation()⽅式指定了pointcut,其中⽅法参数为连接点注解类aroundAuthority,
如果需要对某⼀⽅法进⾏增强,只需要在相应的⽅法上添加上此注解即可,如下:
AspectJ配置⽂件
五、测试类
可能的输出结果:
本文发布于:2022-11-23 10:19:04,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/5181.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |