<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 閱讀(209) 評論(0)  編輯  收藏 所屬分類: j2se

    主站蜘蛛池模板: 国产免费看JIZZ视频| 亚洲高清中文字幕免费| 亚洲国产乱码最新视频| 婷婷亚洲久悠悠色悠在线播放| 国内大片在线免费看| 久久综合给合久久国产免费| 无码免费又爽又高潮喷水的视频| 亚洲精品综合久久中文字幕| 亚洲熟妇无码八AV在线播放| 亚洲Av无码乱码在线观看性色| 最新69国产成人精品免费视频动漫 | 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲一区二区成人| 亚洲中文字幕日产乱码高清app| 免费人成在线观看视频播放| 永久免费毛片手机版在线看| 国产一区二区三区免费看| 免费大片黄手机在线观看| 日本高清免费不卡在线| 四虎永久成人免费影院域名| 亚洲高清专区日韩精品| 又粗又大又长又爽免费视频| 亚洲一级毛片免费观看| 一二三四视频在线观看中文版免费| 中文字幕亚洲一区二区va在线| 亚洲国产精品无码久久| 无码国产精品一区二区免费| 亚洲av中文无码乱人伦在线r▽| 日本系列1页亚洲系列| 国产一级高青免费| 天天看片天天爽_免费播放| 亚洲国产精品一区二区成人片国内| 亚洲黄页网在线观看| 男女作爱在线播放免费网站| 日本久久久免费高清| 亚洲一区中文字幕在线观看| 99在线视频免费观看| 国产在线观看免费视频播放器| 亚洲另类古典武侠| 久久www免费人成看国产片| 4hu四虎最新免费地址|