ProxyFactory


Spring定義了org.springframework.aop.framework.AopProxy接口,並提供了兩個final類型的實現類。
AopProxy類結構:
Cglib2AopProxy使用CGLib動態代理技術創建代理,而JdkDynamicAopProxy使用JDK動態代理技術創建代理。
如果ProxyFactory的setInterfaces(Class[] interfaces)方法指定目標接口進行代理,則ProxyFactory使用JdkDynamicAopProxy;如果是針對類的代理,則使用Cglib2AopProxy。此外,還可以通過ProxyFactory的setOptimize(true)方法讓ProxyFactory啟動優化代理方式,這樣,針對接口的代理也會使用Cglib2AopProxy。
 
ProxyFactory pf = new ProxyFactory();
pf.setInterfaces(target.getClass().getInterfaces());    //指定對接口進行代理
pf.setOptimize(true);    //啟用優化,則ProxyFactory將使用Cglib2AopProxy代理,否則默認JDK代理
pf.setTarget(target);
pf.addAdvice(advice);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM