spring aop的五种通知类型

Posted 架构师小跟班

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring aop的五种通知类型相关的知识,希望对你有一定的参考价值。

昨天在腾讯课堂看springboot的视频,老师随口提问,尼玛竟然回答错了。特此记录!

问题:

Spring web项目如果程序启动时出现异常,调用的是aop中哪类通知?

正确答案是:

异常返回通知。

回答问题的关键是,你得知道aop有哪几种通知类型吧!

 

spring aop通知(advice)分成五类: 


前置通知[Before advice]:

    在连接点前面执行,前置通知不会影响连接点的执行,除非此处抛出异常。 


正常返回通知[After returning advice]:

    在连接点正常执行完成后执行,如果连接点抛出异常,则不会执行。

 
异常返回通知[After throwing advice]:

    在连接点抛出异常后执行。 


返回通知[After (finally) advice]:

    在连接点执行完成后执行,不管是正常执行完成,还是抛出异常,都会执行返回通知中的内容。 

 

环绕通知[Around advice]:

    环绕通知围绕在连接点前后,比如一个方法调用的前后。这是最强大的通知类型,能在方法调用前后自定义一些操作。环绕通知还需要负责决定是继续处理join point(调用ProceedingJoinPoint的proceed方法)还是中断执行。 

 




以上是关于spring aop的五种通知类型的主要内容,如果未能解决你的问题,请参考以下文章

Spring-AOP的五种通知方式

Spring AOP有哪些通知类型,它们的执行顺序是怎样的?

Spring自动装配Bean的五种方式

Spring-AOP的5种通知

Spring的事务传播性

Spring 切面可以应用五种类型的通知?