![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringAOP
郭敬仰
这个作者很懒,什么都没留下…
展开
-
《六》Advice通知的实现
aop定义的通知是怎样对目标对象增强的呢? 这里以MethodBeforeAdviceAdapter为例,从advisor获取到通知器之后,通过invoke的回调来实现目标的增强原创 2019-10-14 20:56:10 · 132 阅读 · 0 评论 -
《五》Advisor通知器的配置生成
(1)拦截器的获取是从advisor通知器中获取的,这个通知器装了配置的所有的Advice通知,而AdvisorAdapterRegistry用来注册拦截器链的。如上图61行所示,AdvisorAdapterRegistry从advisor中获取符合条件的拦截器。主意上面有切点的赛选。 至于advisor器中怎样封装Advice通知的呢,如下图: 遍历配置的interceptorName...原创 2019-10-14 20:38:58 · 208 阅读 · 0 评论 -
《四》Aop拦截器调用的实现
一、JdkDynamicAopProxy的invoke拦截 JdkDynamicAopProxy的invoke方法作为proxy对象的回调函数被触发,对proxy对象的代理设置是在invoke方法中完成的,包括获取目标对象,拦截器链。 创建了ReflectiveMethodInvocation对象来完成对aop实现的封装,来完成一个完整的拦截器链对目标对象的拦截过程:拦截器链中拦截器配置、逐个运...原创 2019-10-14 20:21:56 · 207 阅读 · 0 评论 -
《三》JDK与CGLIB动态代理
一、AopProxy接口下的JdkDynamicAopProxy与CglibAopProxy区别 AopProxy接口设计就是为了获取Proxy代理对象,在AopProxy接口下分别有JdkDynamicAopProxy与CglibAopProxy两种Proxy代理对象实现, 区别在于JdkDynamicAopProxy需要指定ClassLoader而CglibAopProxy不需要指定。 二...原创 2019-10-14 19:29:13 · 149 阅读 · 0 评论 -
《二》SpringAOP代理类浅析
一、简介AopProxy代理对象 ProxyConfig、AdvisedSupport、ProxyCreatorSupport作为ProxyFactoryBean、ProxyFactory、AspectJProxyFactory共同的基类, ProxyConfig作为数据基类,提供配置属性;AdvisedSupport封装AOP通知和通知器相关操作;ProxyCreatorSupport看作子类...原创 2019-10-14 17:46:34 · 157 阅读 · 0 评论 -
《一》SpringAOP中Advice 、Pointcut、Advisor之间的关系
(1)Advice(通知) 可以理解为连接点具体做些什么事情,为切面增强提供织入接口,是增强目标方法的入口。包括前置通知,后知通知,异常通知。 (2)Pointcut(切点) 理解为Advice(通知)作用于哪些点,以JdkRegexpMethodPointcut为例: 根据一定规则匹配方法,表明哪些方法可以被增强。 (3)Advisor(通知器) 通知器作用将通知与切点结合起来,可以定义应该哪...原创 2019-10-14 17:26:58 · 670 阅读 · 0 评论