Spring-AOP实现后置、返回、异常和环绕通知

后置通知

在切入点的目标方法执行后(无论有异常抛出没的),都会执行这个通知方法!

如果想要在通知方法里访问到目标方法返回的结果,可以用返回通知

返回通知

是在目标方法执行之后没有异常,并且返回结果后才执行通知方法:

异常通知

当目标对象抛出异常的时候执行通知方法,添加一个div除法方法

环绕通知

就是把前面4中通知全给整合在一起,环绕目标方法的所有通知的意味。

使用它必须要求:

1、必须要带参数ProceedingJoinPoint类型的参数,这个参数可以直接调用原来的目标方法。

2、环绕通知方法必须有返回值,这个反正值就是目标方法的返回值。

所有的通知都写一块了,功能强大,但是,考虑一个问题,是不是没次有切面需求的时候,都要把所有的通知方法都需要实现呢?

最后说一个问题,当同一个目标方法有多个切面的时候,哪个切面先执行,取决于在切面类上的注解@order(值小的先执行)。

相关推荐
上进小菜猪11 小时前
基于 YOLOv8 的驾驶员疲劳状态识别系统实战(含完整源码与可视化界面)
后端
Nonoas11 小时前
动态代理:发布订阅的高级玩法
java·ide·intellij-idea
上进小菜猪11 小时前
基于 YOLOv8 的交通标识与设施识别系统(含完整源码)
后端
程序员-周李斌12 小时前
Java 死锁
java·开发语言·后端
布列瑟农的星空12 小时前
还在手动翻译国际化词条?AST解析+AI翻译实现一键替换
前端·后端·ai编程
武子康12 小时前
大数据-197 K折交叉验证实战:sklearn 看均值/方差,选更稳的 KNN 超参
大数据·后端·机器学习
皮皮林55112 小时前
Prometheus+Grafana,打造强大的监控与可视化平台
java
JasmineWr13 小时前
CompletableFuture相关问题
java·开发语言
零雲13 小时前
java面试:知道java的反射机制吗
java·开发语言·面试
码事漫谈13 小时前
C++数据竞争与无锁编程
后端