Spring通知(Advice)有哪些类型?

简介: Spring通知(Advice)有哪些类型?

(1)前置通知(Before Advice):在连接点(Join point)之前执行的通知。


(2)后置通知(After Advice):当连接点退出的时候执行的通知(不论是正常返回还是异常退出)。


(3)环绕通知(Around Advice):包围一个连接点的通知,这是最强大的一种通知类型。 环绕通知可以在方法调用前后完成自定义的行为。它也可以选择是否继续执行连接点或直接返回它们自己的返回值或抛出异常来结束执行。


(4)返回后通知(AfterReturning Advice):在连接点正常完成后执行的通知(如果连接点抛出异常,则不执行)


(5)抛出异常后通知(AfterThrowing advice):在方法抛出异常退出时执行的通知


微信图片_20220111174650.png


同一个Aspect,不同advice的执行顺序:


(1)没有异常情况下的执行顺序:


around before advice

before advice

target method 执行

around after advice

after advice

afterReturning

(2)有异常情况下的执行顺序:


around before advice

before advice

target method 执行

around after advice

after advice

afterThrowing

java.lang.RuntimeException: 异常发生  


相关文章
|
1天前
|
Java API Spring
Spring容器如何使用一个注解来指定一个类型为配置类型
Spring容器如何使用一个注解来指定一个类型为配置类型
18 0
|
6月前
|
Java Spring
spring框架之AOP模块(面向切面),附带通知类型---超详细介绍
spring框架之AOP模块(面向切面),附带通知类型---超详细介绍
55 0
|
1天前
|
缓存 Java Spring
Spring 源码阅读 66:基于 JDK 的 AOP 代理如何获取拦截器链(4)- 将 Advice 封装为拦截器
【1月更文挑战第1天】本文分析了 Advice 被封装成 MethodInterceptor 的过程,Spring AOP 用到的五种 Advice 中,有些本身就是 MethodInterceptor 的实现类,而有些需要通过适配器的封装。
44 0
|
1天前
|
前端开发 Java API
Spring Boot之Spring MVC基于注解的控制器(RequestMapping注解类型 重定向与转发 依赖注入)
Spring Boot之Spring MVC基于注解的控制器(RequestMapping注解类型 重定向与转发 依赖注入)
48 0
|
1天前
|
XML Java 数据格式
spring怎么去引用/注入集合/数组类型和 怎么通过 util 名称空间创建 list以及 怎么去通过级联属性赋值
spring怎么去引用/注入集合/数组类型和 怎么通过 util 名称空间创建 list以及 怎么去通过级联属性赋值
34 0
|
5月前
|
设计模式 安全 Java
一个你可能不曾注意的小东西,Spring依赖注入Bean类型的8种情况
大家好,我是三友~~ 今天来讲的一个你可能不曾注意的小东西,那就是Spring依赖注入支持注入Bean的类型,这个小东西可能看似没有用但是实际又有点小用。
一个你可能不曾注意的小东西,Spring依赖注入Bean类型的8种情况
|
7月前
|
开发框架 Java Spring
“深入了解Spring AOP:特点、术语和通知类型“
“深入了解Spring AOP:特点、术语和通知类型“
91 0
|
7月前
|
JSON Java 关系型数据库
Spring Boot 学习研究笔记(十三) Spring Data JPA与PostgreSQL的jsonb类型集成
Spring Boot 学习研究笔记(十三) Spring Data JPA与PostgreSQL的jsonb类型集成
101 0
|
1天前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
56 0
|
1天前
|
缓存 安全 Java
Spring Boot 面试题及答案整理,最新面试题
Spring Boot 面试题及答案整理,最新面试题
138 0