《二》SpringAOP代理类浅析

一、简介AopProxy代理对象

在这里插入图片描述
ProxyConfig、AdvisedSupport、ProxyCreatorSupport作为ProxyFactoryBean、ProxyFactory、AspectJProxyFactory共同的基类,
ProxyConfig作为数据基类,提供配置属性;AdvisedSupport封装AOP通知和通知器相关操作;ProxyCreatorSupport看作子类创建AOP代理对象的辅助类。
ProxyFactoryBean封装spring的AOP应用,可以声明式配置;
ProxyFactory封装spring的AOP应用,需要编程式配置;
AspectJProxyFactory封装AspectJ的Aop应用。

AopProxy生成过程

在这里插入图片描述

三、拦截器链的初始化

(1)初始化过程发生在第一次用ProxyFactoryBean获取代理对象的时候
在这里插入图片描述
(2)读取配置中的所有通知器,然后通过getBean方法获取通知器,最后加入到拦截器链中
在这里插入图片描述

四、通过AopProxy类生成代理对象的过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过ProxyCreatorSupport生成代理对象,而ProxyCreatorSupport里面使用的是AopProxyFactory来生成AopProxy的,而AopProxyFactory使用的是DefaultAopProxyFactory来返回AopProxy的,这里不真正返回代理对象而是返回的哪种AopProxy具体生成对象在下面所示:

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章