- 顺序
- 单切面
- 正常顺序
- 异常顺序
- 多切面
- 单切面
顺序
多个切面执行是按照 order
值越小越先执行,一个切面多个通知点,也是按照一定的顺序执行的。
单切面
一个切面顺序相对来说很简单,但是分异常和正常两种情况
正常顺序
@Around
通知的 before around 业务@Before
通知- method 方法
@Around
通知的 after around 业务@After
通知- 执行
@AfterReturn
通知
异常顺序
@Around
通知的 before around 业务@Before
通知- method 方法
@Around
通知的 after around 业务@After
通知- 执行
@AfterThrowning
通知
多切面
多切面已正常情况为例:
- Aspect1
@Around
通知的 before around 业务 - Aspect1
@Before
通知 - Aspect2
@Around
通知的 before around 业务 - Aspect2
@Before
通知 - method 方法
- Aspect2
@Around
通知的 after around 业务 - Aspect2
@After
通知 - Aspect2 执行
@AfterReturn
通知 - Aspect1
@Around
通知的 after around 业务 - Aspect1
@After
通知 - Aspect1 执行
@AfterReturn
通知