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

后置通知

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

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

返回通知

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

异常通知

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

环绕通知

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

使用它必须要求:

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

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

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

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

相关推荐
Java中文社群2 分钟前
服务器被攻击!原因竟然是他?真没想到...
java·后端
Full Stack Developme13 分钟前
java.nio 包详解
java·python·nio
零千叶30 分钟前
【面试】Java JVM 调优面试手册
java·开发语言·jvm
代码充电宝39 分钟前
LeetCode 算法题【简单】290. 单词规律
java·算法·leetcode·职场和发展·哈希表
li37149089043 分钟前
nginx报400bad request 请求头过大异常处理
java·运维·nginx
摇滚侠1 小时前
Spring Boot 项目, idea 控制台日志设置彩色
java·spring boot·intellij-idea
helloworddm1 小时前
Orleans 流系统握手机制时序图
后端·c#
Aevget1 小时前
「Java EE开发指南」用MyEclipse开发的EJB开发工具(二)
java·ide·java-ee·eclipse·myeclipse
黄昏晓x2 小时前
C++----多态
java·jvm·c++
Brookty2 小时前
【算法】前缀和
java·学习·算法·前缀和·动态规划