假设我们在同一个关节点(业务功能)上应用了两个建议,一个是 After ,另一个是 AfterReturning ,那么关节点成功执行
,将首先调用>建议答案 0 :(得分:2)
调用同一联合点(核心业务相关模块)的不同类型的建议如下:
1.Around
2.Before之前和/或之后
3.Returning或AfterThrowing后
假设我们在同一个关节点上应用所有五种类型的建议,那么流程就像:
围绕类型的建议将被调用,周围类型建议的
pjp.proceed()
之前的代码将被执行,其中 pjp 是参考 变量 ProceedingJoinPoint 界面。之前类型建议将被调用并完全执行。
联合点内的代码将完全执行。
如果关节点成功执行,则会执行 类型建议
pjp.proceed()
之后的代码,否则请跳过此步骤并转到 如果它已修改返回值,则此新返回值将 受以下建议或方法调用。- 如果关节点成功执行,
类型后的建议将被调用并完全执行。
- 醇>
AfterReturning 类型建议将被完全调用并执行,否则如果关节点抛出任何错误 然后 AfterThrowing 类型的建议将被调用并完全执行。
答案 1 :(得分:0)
不是重复回答,而是指向描述排序的Spring AOP的链接。