SpringBoot新版本BUG
我们都知道spring @Before @After,@AfterReturning ,@AfterThrowing执行顺序为
先执行@Around ->再执行@Before->在执行切面发,切面发执行完毕后回到@Around->再执行@After方法,最后如果出现异常执行@AfterThrowing方法,如果没异常执行@AfterRetruning方法如下图所示:
但在最新的版本2.3.1中顺序出现了了变化,我们先看一下演示,首先写入切面方法
当系统查询角色管理时,后台输出运行的顺序
然后我们在看一下异常情况下的运行输出结果
我们在来对比一下2.3.0版本的运行结果
正常运行环境下
异常环境运行下
毕竟spring官方使用原先顺序这么多年也没变,而且官方也没有说改变运行的顺序,由此可见新版本中运行顺序是错误的。