AOP执行顺序
下面是个人的一点总结!理解可能存在欠缺欢迎批评指正
1.AOP相关概念
- Aspect:切面,由连接点和增强组成的。@Aspect注解进行标识。
- Join point:连接点。代表一次方法的执行。
- Advice:增强。在连接点执行的操作。
- Pointcut:切点。如何匹配到连接点。
- Introduction:引入。为现有类型声明额外的方法和属性。
- Target:目标对象。可以采用动态代理的方式。
2.增强的类型
前置增强(Before advice):在连接点之前运行,但不能阻止到连接点的流程继续执行(除非抛出异常)
返回增强(After returning advice):在连接点正常完成后运行的增强(例如,方法返回没有抛出异常)
异常增强(After thorwing advice):如果方法抛出异常退出需要执行的增强
后置增强(After (finally) Advice):无论连接点是正常或者异常退出,都会执行该增强
环绕增强(Around advice):围绕连接点的增强,例如方法的调用。环绕增强能在方法的调用之前和调用之后自定义行为。它还可以选择方法是继续执行或者去缩短方法的执行通过返回自己的值或者抛出异常。
3.增强的执行顺序
1.Order可以执行切面执行的顺序。小的高。
2.小结
总之先执行的是前置操作,先执行优先级高的前置操作,然后再去执行优先级低的前置操作。然后在往优先级高的进行返回。