• 顺序
    • 单切面
      • 正常顺序
      • 异常顺序
    • 多切面

    顺序

    多个切面执行是按照 order 值越小越先执行,一个切面多个通知点,也是按照一定的顺序执行的。

    单切面

    一个切面顺序相对来说很简单,但是分异常和正常两种情况

    正常顺序

    正常

    1. @Around 通知的 before around 业务
    2. @Before 通知
    3. method 方法
    4. @Around 通知的 after around 业务
    5. @After 通知
    6. 执行 @AfterReturn 通知

    异常顺序

    异常

    1. @Around 通知的 before around 业务
    2. @Before 通知
    3. method 方法
    4. @Around 通知的 after around 业务
    5. @After 通知
    6. 执行 @AfterThrowning 通知

    多切面

    多切面

    多切面已正常情况为例:

    1. Aspect1 @Around 通知的 before around 业务
    2. Aspect1 @Before 通知
    3. Aspect2 @Around 通知的 before around 业务
    4. Aspect2 @Before 通知
    5. method 方法
    6. Aspect2 @Around 通知的 after around 业务
    7. Aspect2 @After 通知
    8. Aspect2 执行 @AfterReturn 通知
    9. Aspect1 @Around 通知的 after around 业务
    10. Aspect1 @After 通知
    11. Aspect1 执行 @AfterReturn 通知