<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Vincent

    Vicent's blog
    隨筆 - 74, 文章 - 0, 評論 - 5, 引用 - 0
    數據加載中……

    InvocationHandler 操作例子(切面概念)

    三個類,一個接口,不費話:


    程序代碼 程序代碼



    public interface IHello {
    public void hello(String name);
    }



    --------------------------------------------------------------------------------
    public class HelloSpeaker implements IHello {


    public void hello(String name) {
    System.out.println("Hello, " + name);
    }

    }


    --------------------------------------------------------------------------------
    import java.lang.reflect.InvocationHandler;
    import java.lang.reflect.Method;
    import java.lang.reflect.Proxy;
    import java.util.logging.Level;
    import java.util.logging.Logger;

    public class LogHandler implements InvocationHandler {
    private Object delegate;

    private Logger logger = Logger.getLogger(this.getClass().getName());

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

    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
    Object result = null;

    try {
    log("method starts..." + method);

    result = method.invoke(delegate, args);

    logger.log(Level.INFO, "method ends..." + method);
    } catch (Exception e) {
    log(e.toString());
    }

    return result;
    }

    private void log(String message) {
    logger.log(Level.INFO, message);
    }
    }


    --------------------------------------------------------------------------------


    public class ProxyDemo {

    public static void main(String[] args) {
    LogHandler logHandler = new LogHandler();

    IHello helloProxy = (IHello) logHandler.bind(new HelloSpeaker());
    helloProxy.hello("Justin");
    }



    好了,拷貝上面的自己運行看看就知道了,原來切面就是這么回事。

    posted on 2006-08-22 10:43 Binary 閱讀(207) 評論(0)  編輯  收藏 所屬分類: j2se

    主站蜘蛛池模板: 久久www免费人成看片| 久久久国产精品福利免费| 插B内射18免费视频| 精品亚洲AV无码一区二区三区| 国产拍拍拍无码视频免费| 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲综合激情九月婷婷| 免费国产99久久久香蕉| 久久精品国产亚洲AV麻豆不卡| 三年片在线观看免费西瓜视频| 亚洲国产成人高清在线观看| 免费无码VA一区二区三区| 亚洲伦理一二三四| 大地资源在线观看免费高清| 亚洲成a人无码亚洲成www牛牛 | 又黄又爽无遮挡免费视频| 无套内射无矿码免费看黄| 亚洲国产婷婷综合在线精品 | 一级毛片免费播放| 亚洲AV无码一区二区三区人| 夭天干天天做天天免费看| 特级毛片爽www免费版| 亚洲精品无码久久久影院相关影片 | 亚洲av中文无码乱人伦在线观看 | 亚洲成AV人片在线观看| 久久国内免费视频| 爱情岛亚洲论坛在线观看 | 亚洲AV无码一区二区三区电影 | 日韩免费观看一区| 亚洲中文无码卡通动漫野外 | 吃奶摸下高潮60分钟免费视频| 国产精品综合专区中文字幕免费播放| 国产亚洲精品资源在线26u| 四虎免费影院ww4164h| 精品一区二区三区免费毛片| 亚洲精品无码永久在线观看你懂的| 巨波霸乳在线永久免费视频| 美美女高清毛片视频黄的一免费| 亚洲精品无码AV人在线播放| 无码国产精品一区二区免费I6| japanese色国产在线看免费|