Spring的五大通知类型需要掌握的知识

Spring的五大通知类型分别是
后置通知 前置通知 环绕通知 异常通知 最终通知
五种通知执行的顺序 :

在目标方法没有抛出异常的情况下
前置通知
环绕通知的调用目标方法之前的代码//取决于配置顺序
目标方法
环绕通知的调用目标方法之后的代码
*后置通知
*最终通知//取决于配置顺序

在目标方法抛出异常的情况下:
前置通知
环绕通知的调用目标方法之前的代码//取决于配置顺序
目标方法 抛出异常
异常通知
最终通知//取决于配置顺序

如果存在多个切面:
多切面执行时,采用了责任链设计模式。
切面的配置顺序决定了切面的执行顺序,多个切面执行的过程,类似于方法调用的过程,在环绕通知的proceed()执行时,去执行下一个切面或如果没有下一个切面执行目标方法,从而达成了如下的执行过程:
在这里插入图片描述

如果目标方法抛出异常:在这里插入图片描述

五种通知的常见使用场景

前置通知
记录日志(方法将被调用)

环绕通知
控制事务 权限控制

后置通知
记录日志(方法已经成功调用)

异常通知
异常处理 控制事务

最终通知
记录日志(方法已经调用,但不一定成功)

发布了15 篇原创文章 · 获赞 20 · 访问量 526

猜你喜欢

转载自blog.csdn.net/zhaoyi666/article/details/105140007