最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實現(xiàn)動態(tài)代理示例分享

 更新時間:2014年03月21日 15:12:37   作者:  
動態(tài)代理作為代理模式的一種擴展形式,廣泛應(yīng)用于框架(尤其是基于AOP的框架)的設(shè)計與開發(fā),本文將通過實例來講解Java動態(tài)代理的實現(xiàn)過程。

復(fù)制代碼 代碼如下:

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class LogHandler implements InvocationHandler {
    private Object delegate;

    public Object bind(Object delegate) {
        this.delegate = delegate;
        return Proxy.newProxyInstance(delegate.getClass().getClassLoader(),
                delegate.getClass().getInterfaces(), this);
    }

    @Override
    public Object invoke(Object proxy, Method method, Object[] args)
            throws Throwable {
        Object result = null;
        try {
            System.out.println("方法開始:" + method);
            result = method.invoke(delegate, args);
            System.out.println("方法結(jié)束:" + method);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
}

復(fù)制代碼 代碼如下:

public interface Animal {
    public void hello();
}

動態(tài)代理作為代理模式的一種擴展形式,廣泛應(yīng)用于框架(尤其是基于AOP的框架)的設(shè)計與開發(fā),本文將通過實例來講解Java動態(tài)代理的實現(xiàn)過程。

復(fù)制代碼 代碼如下:

public class Monkey implements Animal {

    @Override
    public void hello() {
        // TODO Auto-generated method stub
        System.out.println("hello");
    }
}

復(fù)制代碼 代碼如下:

public class Main {
    public static void main(String[] args) {
        LogHandler logHandler = new LogHandler();
        Animal animal = (Animal) logHandler.bind(new Monkey());
        animal.hello();
    }
}


相關(guān)文章

  • 從基礎(chǔ)學java--數(shù)組

    從基礎(chǔ)學java--數(shù)組

    數(shù)組是相同類型數(shù)據(jù)的有序集合數(shù)組描述的是相同類型的若干個數(shù)據(jù),按照一定的先后次序排列組合而成。其中,每一個數(shù)據(jù)稱作一個數(shù)組元素,每個數(shù)組元素可以通過一個下標來訪問它們數(shù)組的聲明創(chuàng)建
    2021-09-09
  • Spring Boot利用Thymeleaf發(fā)送Email的方法教程

    Spring Boot利用Thymeleaf發(fā)送Email的方法教程

    spring Boot默認就是使用thymeleaf模板引擎的,下面這篇文章主要給大家介紹了關(guān)于在Spring Boot中利用Thymeleaf發(fā)送Email的方法教程,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-08-08
  • java實現(xiàn)根據(jù)ip地址獲取地理位置

    java實現(xiàn)根據(jù)ip地址獲取地理位置

    本文給大家匯總介紹了2種分別使用新浪和淘寶接口,實現(xiàn)根據(jù)IP地址獲取詳細的地理位置的代碼,非常的實用,有需要的小伙伴可以參考下。
    2016-03-03
  • java迭代子模式詳解

    java迭代子模式詳解

    這篇文章主要為大家詳細介紹了java迭代子模式的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • 詳解如何使用IntelliJ IDEA新建一個Servlet項目

    詳解如何使用IntelliJ IDEA新建一個Servlet項目

    這篇文章主要介紹了詳解如何使用IntelliJ IDEA新建一個Servlet項目,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Java中使用opencv的問題

    Java中使用opencv的問題

    這篇文章主要介紹了Java中使用opencv的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 使用Feign實現(xiàn)微服務(wù)間文件傳輸

    使用Feign實現(xiàn)微服務(wù)間文件傳輸

    這篇文章主要為大家詳細介紹了使用Feign實現(xiàn)微服務(wù)間文件傳輸,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Java實現(xiàn)修改圖片文件名的方法示例

    Java實現(xiàn)修改圖片文件名的方法示例

    在很多應(yīng)用中,用戶需要對文件進行重命名操作,包括圖片文件,圖片文件的重命名操作可以是基于文件內(nèi)容、日期、用戶輸入等,本項目的目標是實現(xiàn)一個Java程序,能夠修改圖片文件的文件名,并進行簡單的文件名處理,需要的朋友可以參考下
    2025-02-02
  • java.lang.Long cannot be cast to java.lang.Integer數(shù)據(jù)類型轉(zhuǎn)換異常解決辦法

    java.lang.Long cannot be cast to ja

    本文主要介紹了java.lang.Long cannot be cast to java.lang.Integer數(shù)據(jù)類型轉(zhuǎn)換異常解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Java中利用POI優(yōu)雅的導(dǎo)出Excel文件詳解

    Java中利用POI優(yōu)雅的導(dǎo)出Excel文件詳解

    這篇文章主要給大家介紹了關(guān)于Java中如何利用POI優(yōu)雅的導(dǎo)出Excel文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Java具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-05-05

最新評論

青海省| 曲周县| 郯城县| 抚顺市| 绥棱县| 旌德县| 大宁县| 漠河县| 盐亭县| 湟源县| 镇江市| 旅游| 绥宁县| 吉安市| 瓦房店市| 红桥区| 阜新市| 西藏| 枝江市| 铜山县| 益阳市| 日喀则市| 白玉县| 雅安市| 锦屏县| 亳州市| 黎川县| 林周县| 四子王旗| 镶黄旗| 木兰县| 清流县| 东平县| 莒南县| 张家界市| 平塘县| 雅江县| 隆回县| 商洛市| 衡山县| 达拉特旗|