不同情况通知执行的顺序

Posted wmqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不同情况通知执行的顺序相关的知识,希望对你有一定的参考价值。


1.service方法有返回值 + 无异常 + XML

***************************************
1.前置通知...deleteUser
2.环绕通知...开启事务...deleteUser
通过id删除用户
3.后置通知...deleteUser
返回值:1
4.环绕通知....提交事务...
最终通知...deleteUser
**************************************

2.service方法有返回值 + 无异常 + 注解

**************************************
2.环绕通知...开启事务...deleteUser
1.前置通知...deleteUser
通过id删除用户
4.环绕通知....提交事务...
最终通知...deleteUser
3.后置通知...deleteUser
返回值:1
**************************************

3.service方法没有返回值 + 无异常 + XML

***************************************
1.前置通知...deleteUser
2.环绕通知...开启事务...deleteUser
删除用户。。。。
3.后置通知...deleteUser
返回值:null
4.环绕通知....提交事务...
最终通知...deleteUser
***************************************

4.service方法没有返回值 + 无异常 + 注解

****************************************
2.环绕通知...开启事务...deleteUser
1.前置通知...deleteUser
删除用户。。。。
4.环绕通知....提交事务...
最终通知...deleteUser
3.后置通知...deleteUser
返回值:null

***************************************

其实影响不大,只要不出现大的前后颠倒情况就行,区别大的是后置通知和最终通知,就是释放资源先后的问题;

以上是关于不同情况通知执行的顺序的主要内容,如果未能解决你的问题,请参考以下文章

五大通知执行顺序会因为spring版本不同而有小差别

五大通知执行顺序会因为spring版本不同而有小差别

五大通知执行顺序会因为spring版本不同而有小差别

SpringAOP通知细节-避坑指南

spring15----AOP之通知顺序

Unity脚本的生命周期 同一脚本/不同脚本/游戏对象激没激活/脚本激没激活,几种情况下的Awake,OnEnable,Start的执行顺序