SpringAOP的切面执行顺序在Spring4和Spring5中有啥区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringAOP的切面执行顺序在Spring4和Spring5中有啥区别?相关的知识,希望对你有一定的参考价值。
参考技术A基于以上的切面逻辑,在 UserService#doProcess(long) 方法执行前后以及异常情况下的各个切面的执行顺序是怎样的呢?
执行下面测试代码,观察输出:
执行下面测试代码,观察输出:
在 Spring5 中各个切面的执行顺序如下:
环绕通知 @Around 的逻辑包裹着 @Before 、 @AfterReturing 、 @AfterThrowing 、 @Returing 这些切面。 @After 类比于 finally 块的代码一样在最后执行。
在 Spring4 中各个切面的执行顺序如下:
环绕通知 @Around 的逻辑 并不是 包裹着 @Before 、 @AfterReturing 、 @AfterThrowing 、 @Returing 这些切面。 @After 在 @AfterReturing 或 @AfterThrowing 之前执行。
以上是关于SpringAOP的切面执行顺序在Spring4和Spring5中有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章