SpringBoot新版本BUG

我们都知道spring @Before @After,@AfterReturning ,@AfterThrowing执行顺序为
先执行@Around ->再执行@Before->在执行切面发,切面发执行完毕后回到@Around->再执行@After方法,最后如果出现异常执行@AfterThrowing方法,如果没异常执行@AfterRetruning方法如下图所示:
SpringBoot新版本BUG
但在最新的版本2.3.1中顺序出现了了变化,我们先看一下演示,首先写入切面方法
SpringBoot新版本BUG
当系统查询角色管理时,后台输出运行的顺序
SpringBoot新版本BUG

SpringBoot新版本BUG
然后我们在看一下异常情况下的运行输出结果
SpringBoot新版本BUGSpringBoot新版本BUG
我们在来对比一下2.3.0版本的运行结果
正常运行环境下
SpringBoot新版本BUG

异常环境运行下
SpringBoot新版本BUG
毕竟spring官方使用原先顺序这么多年也没变,而且官方也没有说改变运行的顺序,由此可见新版本中运行顺序是错误的。

相关文章: