AOP--调用代理
2024-09-06 14:58:13 0 举报
AOP--调用代理
作者其他创作
大纲/内容
调用被代理的方法
前置
AnnotationAwareAspectJAutoProxyCreator
异常
7、正常情况
0
3
解析exposeProxy属性
4
Exposelnvocationlnterceptor
5
返回
获得当前的拦截器++currentlnterceptorlndex
getBean(\"nxCalculate\")、获得aop代理的bean
获得aop代理的bean实际获取的是动态代理对象
AspectJAfterThrowingAdvice
调用基于Jdk动态代理
ExposeInvocationInterceptor就是用来传递MethodInvocation的。在后续的任何下调用链环节,只要需要用到当前的MethodInvocation就通过ExposeInvocationInterceptor.currentInvocation()静态方法获得
chain.isEmpty
递归出口:
ReflectiveMethodInvocation#proceed
1
直接调用
后置
2
AspectJAfterAdvice
符合
全部转化为拦截器通过责任链模式调用
JdkDynamicAopProxy#invoke
AspectJAfterThrowingAdvice#invoke
MethodBeforeAdviceInterceptor
7、异常情况
ExposeInvocationInterceptor#invoke
AspectJAfterAdvice#invoke
6
add();
MethodBeforeAdvicelnterceptor#invoke
不代理equals方法不代里hashCode方法不代理DecoratingProxy不代理advised
AfterReturningAdviceInterceptor
8
AfterReturningAdvicelnterceptor#invoke
自置
0 条评论
回复 删除
下一页