使用AopProxy对象封装target目标对象之后,ProxyFactoryBean的getObject方法得到的对象就不是一个普通的Java对象了,而是一个AopProxy代理对象。
对于不同的AopProxy代理对象生成方式,会使用不同的拦截回调入口。
1、对于JDK的AopProxy代理对象,使用InvocationHandler的invoke回调入口;
2、对于CGLib的AopProxy代理对象,使用的是设置好的callback回调;
在callback回调中,对于AOP实现,是通过DynamicAdvisedInterceptor来完成的,而DynamicAdvisedInterceptor的回调入口是intercept方法。
网友评论