![Spring MVC+MyBatis开发从入门到项目实践(超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/459/34061459/b_34061459.jpg)
上QQ阅读APP看书,第一时间看更新
4.2 Spring AOP的通知类型
Spring AOP有五种通知类型,下面对这五种通知类型进行具体介绍。
4.2.1 五种通知类型
![](https://epubservercos.yuewen.com/20FD4C/18225432008786906/epubprivate/OEBPS/Images/Figure-P74_14363.jpg?sign=1734456204-vsTHYzHKdidicEizFTgzqvfiiQGZp3eo-0-58deeed59135cdb302427659f46919ae)
1. 前置通知
前置通知(@Before)是指在一个连接点之前执行的通知。前置通知没有能力阻止后面的执行(除非它抛异常),也就是说在执行目标方法之前运行。
2. 环绕通知
环绕通知(@Around)是指环绕一个连接点(比如方法调用)的通知,是最强的一种通知。环绕通知可以在方法调用之前或之后执行自定义的行为,环绕通知也可以选择是否要处理连接点方法的执行,通过返回一个值或者直接抛出异常。环绕通知是使用最普遍的一种通知。
3. 返回通知
返回通知(@After (finally))是指在连接点执行完成后执行,不管是正常执行完成,还是抛出异常,都会执行返回通知中的内容。
4. 异常返回通知
异常返回通知(@AfterThrowing)是指如果方法因为抛出异常而退出了才会执行的通知,也就是说在目标方法出现异常后运行。
5. 正常返回通知
正常返回通知(@AfterReturning)是指在连接点正常执行完成后执行的通知,如果连接点抛出异常,则不会执行。
4.2.2 五种通知类型的代码演示
![](https://epubservercos.yuewen.com/20FD4C/18225432008786906/epubprivate/OEBPS/Images/Figure-P74_14364.jpg?sign=1734456204-a981LpvlMb4S71dHGHcNcFk9K84OsY4F-0-d7c595592e43bb15cfe7458e39c882e9)
下面简单介绍这五种通知类型如何使用。
代码如下:
![](https://epubservercos.yuewen.com/20FD4C/18225432008786906/epubprivate/OEBPS/Images/Figure-P74_55436.jpg?sign=1734456204-okAsZ2FQmFZ80YItM3HeWLzfr1nOZOsQ-0-4c2747dd11175b020452261cad071b75)