日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

代理模式(JDK、CGLIB)

發布時間:2024/3/26 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 代理模式(JDK、CGLIB) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前述

代理模式(Proxy)是一個重要的設計模式,提供了對目標對象另外的訪問方式(即通過代理來訪問對象)。

舉例:我們可以理解為代理權,如各大藥材公司生產的藥品,一般不會是公司自己零散售出,在個體病人與生產商之間會有一個代理商,代理商負責與公司溝通批量購入,然后再零散出售給病人,因而病人想要訪問生產商需先與代理商溝通。也可以考慮(NBA球星——經紀人——球隊)三者的關系;

優勢:
(1)可以在目標對象實現的基礎上,增加額外的功能操作(擴展目標對象的功能);
(2)職責更加清楚,更加智能化;

代理模式的關鍵在于:代理對象和目標對象;
一般分為動態代理和靜態代理。

靜態代理

條件:代理對象需是實現與目標對象一樣的的接口

優點:可以做到在不修改目標對象功能的前提下,對目標對象的功能進行擴展;

缺點:
(1)代理對象與目標對象接口一致,導致所實行的類過于繁多。
(2)一旦接口增加方法,目標對象和代理對象都需要實現與維護。

動態代理

(1)代理對象不需要實現接口
(2)包含JDK代理、CGLIB代理

  • JDK代理
    JDK中生成代理的API:
    proxy:被代理的類的實例
    method:調用被代理的類的方法
    args:該方法需要的參數
public Object getProxyInstance() {return Proxy.newProxyInstance(target.getClass().getClassLoader(),目標對象的類加載器target.getClass().getInterfaces(),目標對象的接口new InvocationHandler() {//事件處理器@Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {//執行目標對象的方法Object returnValue = method.invoke(proxy, args);return returnValue;}});} } //在main函數中調用該方法(getProxyInstance())
  • CGLIB代理
    Cglib是一個字節碼增強庫,該代理對象的實現是在字節碼的層面上。
    實現步驟:
    (1)實現MethodInterceptor接口,重寫intercept方法(攔截器)
    (2)寫一個目標類的代理實現方法getInstance,設置Enhance工具類,設置父類回調函數,創建子類操作;
public class FactoryProxy implements MethodInterceptor {//維護一個目標對象private Object target;public FactoryProxy(Object target) {this.target = target;}//設置代理類public Object getInstance() {//設置工具類Enhancer enhancer = new Enhancer();//設置父類enhancer.setSuperclass(target.getClass());//回調函數enhancer.setCallback(this);//創建子類(代理類)return enhancer.create();}//攔截器@Overridepublic Object intercept(Object arg0, Method method, Object[] arg2, MethodProxy arg3) throws Throwable {//執行目標對象的方法Object returnValue = method.invoke(target, arg2);return returnValue;} }

注意:
(1)目標對象的類不能為final
(2)目標方法如果為static、final,那么將不會執行攔截操作;

總結

以上是生活随笔為你收集整理的代理模式(JDK、CGLIB)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲人成7777 | 大屁股一区二区三区 | 欧美成人一区二区三区高清 | 中文字幕高清视频 | 国产乡下妇女做爰视频 | 欧美美女一区二区三区 | 日韩一区二区三区电影 | 亚洲色图在线观看 | 国产r级在线 | 射区导航 | 欧美深性狂猛ⅹxxx深喉 | 欧美啪啪一区 | 男人激情网 | 男女无遮挡做爰猛烈视频 | 欧美在线中文 | 国产欧美一区二区在线观看 | sm国产在线调教视频 | 国产一二区在线观看 | 亚洲涩综合 | 午夜性视频 | 久久免费看少妇 | 羞羞影院体验区 | 国产精品久久久久久亚洲 | 99国产精品视频免费观看一公开 | 激情另类视频 | 欧美第五页 | 都市激情校园春色亚洲 | 亚洲黄色片在线观看 | 欧美丰满熟妇xxxxx | 精品探花 | 久久国产剧情 | 91水蜜桃 | 不卡中文字幕在线 | 国产真实乱偷精品视频 | 国产一区二区视频网站 | 精品国产人妻一区二区三区 | 日本99视频 | 精品人妻少妇一区二区三区 | 内射干少妇亚洲69xxx | 小毛片| 丰满岳乱妇一区二区 | 国产成人在线看 | 91视频亚洲 | 视频二区在线观看 | 少妇第一次交换又紧又爽 | 久久天堂网 | 影音先锋中文字幕在线视频 | 91精品人妻一区二区三区蜜桃2 | 蜜桃视频一区二区在线观看 | 国产又粗又猛又黄视频 | 成av人片在线观看www | wwwxx在线观看| 91国在线观看| 国产高清精品软件丝瓜软件 | 啪啪日韩| 无套日出白浆 | 国产麻豆a毛片 | 欧美国产日本在线 | 色欲色香天天天综合网www | 中文字幕精品国产 | www.猫咪av.com| 黄色h视频 | 色盈盈影院 | 日韩不卡一二三 | 欧美日韩国产区 | wwwxxxx欧美| 五月开心网 | 美女露隐私网站 | 91av视频在线免费观看 | 狠狠操五月天 | 瑟瑟综合 | 成人香蕉视频在线观看 | 琪琪电影午夜理论片八戒八戒 | 日韩精品无码一区二区三区 | 日日夜夜亚洲 | 色噜噜综合网 | 国产午夜精品久久久久久久 | 香蕉视频性| 91拔萝卜视频| 久久国产劲爆∧v内射 | 久久久久久久麻豆 | 麻豆传媒在线观看视频 | 欧美一a一片一级一片 | 伊人网欧美 | 国产婷婷色一区二区在线观看 | 免费在线看黄视频 | 精品国产91久久久久久久妲己 | 91原创视频 | 国产精品-区区久久久狼 | 黄色网址视频在线观看 | 国产精品区在线 | 夜夜天天干 | ww成人| 日韩精品免费观看 | 欧美久久99 | 日韩三级一区二区三区 | 深夜福利在线播放 | 狠狠干夜夜草 | 草女人视频 |