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

后置通知

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

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

返回通知

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

异常通知

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

环绕通知

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

使用它必须要求:

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

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

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

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

相关推荐
新之助小锅10 小时前
java版连接汇川PLC,发送数据,读取数据,保持重新链接,适用安卓
android·java·python
无糖冰可乐2112 小时前
IDEA多java版本切换
java·ide·intellij-idea
合作小小程序员小小店12 小时前
web开发,在线%超市销售%管理系统,基于idea,html,jsp,java,ssh,sql server数据库。
java·前端·sqlserver·ssh·intellij-idea
brucelee18612 小时前
IntelliJ IDEA 设置 Local History 永久保留
java·ide·intellij-idea
Pluto_CSND14 小时前
Java中的静态代理与动态代理(Proxy.newProxyInstance)
java·开发语言
不光头强14 小时前
Spring框架的事务管理
数据库·spring·oracle
百***464515 小时前
Java进阶-在Ubuntu上部署SpringBoot应用
java·spring boot·ubuntu
serve the people15 小时前
Prompts for Chat Models in LangChain
java·linux·langchain
一叶飘零_sweeeet15 小时前
不止于 API 调用:解锁 Java 工具类设计的三重境界 —— 可复用性、线程安全与性能优化
java·工具类
A阳俊yi17 小时前
Spring Data JPA
java·开发语言