<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, 評(píng)論 - 5, 引用 - 0
    數(shù)據(jù)加載中……

    InvocationHandler 操作例子(切面概念)

    三個(gè)類,一個(gè)接口,不費(fèi)話:


    程序代碼 程序代碼



    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");
    }



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

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

    主站蜘蛛池模板: 在线观看亚洲天天一三视| 四虎成人精品在永久免费 | 五月天网站亚洲小说| 精品乱子伦一区二区三区高清免费播放| 国产在线观看免费不卡| 亚洲av无码专区在线电影| 四虎影院在线免费播放| 亚洲精品国产av成拍色拍| 日韩一区二区在线免费观看 | baoyu116.永久免费视频| 亚洲精品无码午夜福利中文字幕| 中文字幕看片在线a免费| 亚洲大尺度无码专区尤物| 亚洲一区二区在线免费观看| 亚洲精品视频在线| 日韩免费一区二区三区在线 | 丁香花免费完整高清观看| 久久综合久久综合亚洲| 午夜小视频免费观看| 91精品全国免费观看含羞草| 中文字幕亚洲第一在线| 999在线视频精品免费播放观看| 激情综合亚洲色婷婷五月| 国产免费卡一卡三卡乱码| 精品乱子伦一区二区三区高清免费播放 | 亚洲欧美熟妇综合久久久久| 午夜免费不卡毛片完整版| 国产精品亚洲一区二区三区在线观看| 免费在线观看黄色毛片| 拍拍拍无挡免费视频网站| 久久精品国产亚洲AV香蕉| 女性无套免费网站在线看| 高清免费久久午夜精品 | 亚洲精品在线播放| 成人av免费电影| 久久精品无码专区免费| 亚洲一区二区影视| 亚洲区小说区图片区| 1000部啪啪毛片免费看| 国产亚洲精品欧洲在线观看| 好看的亚洲黄色经典|