您好,登錄后才能下訂單哦!
本篇內容介紹了“java中Cglib代理的用法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
說明
1、Cglib代理可以稱為子類代理,是在內存中構建子類對象,從而擴展目標對象的功能。靜態代理和JDK代理都需要一個對象來實現一個接口。有時候代理對象只是一個單獨的對象,Cglib代理可以在這個時候使用。
2、Cglib通過Enhancer生成代理類,通過實現MethodInterceptor接口,實現intercept方法,可以在該方法中添加增強方法,并可以使用反射Method或MethodProxy繼承類來調用原始方法。
實例
public class TVProxyCglib implements MethodInterceptor { //給目標對象創建一個代理對象 public Object getProxyInstance(Class c){ //1.工具類 Enhancer enhancer = new Enhancer(); //2.設置父類 enhancer.setSuperclass(c); //3.設置回調函數 enhancer.setCallback(this); //4.創建子類(代理對象) return enhancer.create(); } @Override public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable { System.out.println("TVProxyFactory enhancement....."); Object object = methodProxy.invokeSuper(o, objects); return object; } }
“java中Cglib代理的用法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。