国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Spring如何基于Proxy及cglib實現(xiàn)動態(tài)代理

瀏覽:37日期:2023-09-01 10:15:01

spring中提供了兩種動態(tài)代理的方式,分別是Java Proxy以及cglib

JavaProxy只能代理接口,而cglib是通過繼承的方式,實現(xiàn)對類的代理

添加一個接口以及對應的實現(xiàn)類

public interface HelloInterface { void sayHello();}

public class HelloInterfaceImpl implements HelloInterface { @Override public void sayHello() { System.out.println('hello'); }}

JavaProxy通過實現(xiàn)InvocationHandler實現(xiàn)代理

public class CustomInvocationHandler implements InvocationHandler { private HelloInterface helloInterface; public CustomInvocationHandler(HelloInterface helloInterface) { this.helloInterface = helloInterface; } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println('before hello for proxy'); Object result = method.invoke(helloInterface, args); System.out.println('after hello for proxy'); return result; }}

而cglib實現(xiàn)MethodInterceptor進行方法上的代理

public class CustomMethodInterceptor implements MethodInterceptor { @Override public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable { System.out.println('before hello for cglib'); Object result = methodProxy.invokeSuper(o, objects); System.out.println('after hello for cglib'); return result; }}

分別實現(xiàn)調(diào)用代碼

public static void main(String[] args) { Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(HelloInterfaceImpl.class); enhancer.setCallback(new CustomMethodInterceptor()); HelloInterface target = (HelloInterface) enhancer.create(); target.sayHello(); CustomInvocationHandler invocationHandler = new CustomInvocationHandler(new HelloInterfaceImpl()); HelloInterface target2 = (HelloInterface) Proxy.newProxyInstance(Demo.class.getClassLoader(), new Class[]{HelloInterface.class}, invocationHandler); target2.sayHello(); }

可以看到對于的代理信息輸出

before hello for cglibhelloafter hello for cglibbefore hello for proxyhelloafter hello for proxy

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: Spring
相關文章:
主站蜘蛛池模板: 亚洲成在人线免费视频 | 一本久道在线 | 久久精品中文字幕不卡一二区 | 日本色网址 | 亚洲成人在线视频网站 | 国内精品久久久久久久久蜜桃 | 欧美成人性色xxxxx视频大 | 成人亚洲欧美 | 成人深夜福利在线播放不卡 | 国产一区二区三区免费大片天美 | 日韩欧美不卡一区二区三区 | 国产老头与老太hd | 一级做a爰片性色毛片男 | 欧美日韩在线第一页 | 人碰人碰人成人免费视频 | 韩国免费毛片 | 一级欧美一级日韩 | 国产孕妇孕交大片孕 | 欧美视频在线看 | 免费a级毛片大学生免费观看 | 欧美日韩亚洲精品一区 | www.亚洲视频| 色悠久 | 国产一区二区成人 | 99爱视频在线观看 | 色琪琪一本到影院 | 欧美精品色精品一区二区三区 | 91精品国产91热久久久久福利 | 免费一级片视频 | 国产精品亚洲欧美一级久久精品 | 一级片a级片 | 日韩免费精品一级毛片 | 亚洲wwwwww| 国产色手机在线观看播放 | a国产视频 | 成人a毛片在线看免费全部播放 | 国产素人在线观看 | 女人被男人躁得好爽免费文 | 欧美特黄特色aaa大片免费看 | 久久成人小视频 | 日韩美女在线视频 |