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

后置通知

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

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

返回通知

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

异常通知

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

环绕通知

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

使用它必须要求:

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

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

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

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

相关推荐
while(1){yan}9 小时前
JAVA单例模式
java·单例模式
没有bug.的程序员9 小时前
Async Profiler:最精准的火焰图工具
java·jvm·spring·对象分配·async profiler
金士顿9 小时前
Ethercat耦合器添加的IO导出xml 初始化IO参数
android·xml·java
7哥♡ۣۖᝰꫛꫀꪝۣℋ10 小时前
Spring WebMVC及常用注释
java·数据库·spring
油丶酸萝卜别吃10 小时前
在Spring Boot项目中使用RestTemplate发送请求时如何处理响应?
windows·spring boot·后端
IT_陈寒10 小时前
Redis 性能骤降50%?这5个隐藏配置陷阱你可能从未注意过
前端·人工智能·后端
曹牧10 小时前
C#:Dictionary类型数组
java·开发语言·c#
躺着听Jay10 小时前
【1267 - Illegal mix of collations 】mysql报错解决记录
java·linux·前端
bbq粉刷匠10 小时前
力扣-电话号码组合
java·算法
xunyan623410 小时前
面向对象(下)-模版方法的设计模式其应用场景
java·学习·设计模式