Spring通知(Advice)有哪些类型

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

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

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

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

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

备注1:环绕通知是最常用的一种通知类型。大部分基于拦截的AOP框架,例如Nanning和JBoss4,都只提供环绕通知。
备注2:

(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 advice

 

 

参考文章:https://blog.csdn.net/feng8403000/article/details/114556337

 



上一篇:2.2 指令重排&happens-before 原则 & 内存屏障


下一篇:Java并发编程 - 并发问题的源头