@pointCut切点的配置方式
image.png
使用制定注解的方式
image.png

编入的优先级
优先级最高的会最先被织入,在退出连接点的时候,具有最高的优先级的最后被织入
image.png

@Before注解的配置方式
image.png
参数args里面可以放多个, args0的参数可以穿对象当然实际切入点调用的方法传的参数要跟这里的参数能匹配的上才能执行这个增强方法

@After注解的配置方式同@Before一样
@Around注解的配置方式
image.png
其中proceedingJoinPoint.proceed();是目标方法

@AfterReturning注解的配置方式,属性分析
value值: 可以写Aop的表达式,如execution、args、within等,多个之间使用&& || !作为连接; 也可以使用引用其他Pointcut;
pointcut值:和value值用法一样
returning值:给被增强方法返回值取个名字,给后面引用;
argNames值:方法入参的名字,Spring4.2.x测试时候发现写不写都可以实现Aop
image.png

@AfterThrowing注解的配置方式
image.png

总结一下各种通知方式的应用场景
@Before:在切点方法前执行
@After:在切点方法后执行(不管改方法执行是否报错否会触发)
@Around:在切点方法的外环绕执行,包裹着切点方法
@AfterReturning:在方法返回之前,获取返回值并进行记录操作
@AfterThrowing: 在异常抛出前进行处image.png


rookie_coder
9 声望1 粉丝