一、簡介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具體生成對象在下面所示: