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

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

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

    dingfirst

    On the Road

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      8 隨筆 :: 2 文章 :: 3 評(píng)論 :: 0 Trackbacks

    先看一下Proxy的兩種用法:

    public ? interface ?Foo? {
    ????
    int ?doSomthing();
    }
    ???一個(gè)基本的實(shí)現(xiàn):
    public?class?FooImpl?implements?Foo?{
    ????
    public?FooImpl()?{
    ????}


    ????
    public?int?doSomthing()?{
    ????????System.out.println(
    "FooImpl?doSomthing");
    ????????
    return?10;
    ????}

    ????
    }
    ???調(diào)用處理類(lèi),這也是aop的一種實(shí)現(xiàn)方式,呵呵。
    public?class?MyInvocationHandler?implements?InvocationHandler{
    ????Object?proxyObject;
    ????
    ????
    public?MyInvocationHandler(Object?_proxyObject)?{
    ????????
    this.proxyObject=_proxyObject;
    ????}


    ????
    public?Object?invoke(Object?proxy,?Method?method,?Object[]?args)?throws?Throwable?{
    ????????System.out.println(
    "in?proxy?instance");
    ????????
    return?method.invoke(proxyObject,args);
    ????}

    }
    ???兩種實(shí)現(xiàn)方式:
    public?class?ProxyUse?{
    ????
    public?ProxyUse()?{
    ????}


    ????
    public?void?useProxy1()?throws?SecurityException,?NoSuchMethodException,?InvocationTargetException,
    ????????????IllegalArgumentException,?IllegalAccessException,?InstantiationException?
    {
    ????????FooImpl?obj?
    =?new?FooImpl();
    ????????InvocationHandler?handler?
    =?new?MyInvocationHandler(obj);
    ????????Class?proxyClass?
    =?Proxy.getProxyClass(
    ????????????????Foo.
    class.getClassLoader(),?new?Class[]?{Foo.class});
    ????????Foo?f?
    =?(Foo)?proxyClass.
    ????????????????getConstructor(
    new?Class[]?{InvocationHandler.class}).
    ????????????????newInstance(
    new?Object[]?{handler});
    ????????System.out.println(f.doSomthing());
    ????}

    ????
    ????
    public?void?useProxy2()?throws?SecurityException,?NoSuchMethodException,?InvocationTargetException,
    ????????????IllegalArgumentException,?IllegalAccessException,?InstantiationException?
    {
    ????????FooImpl?obj?
    =?new?FooImpl();
    ????????InvocationHandler?handler?
    =?new?MyInvocationHandler(obj);
    ????????Foo?f?
    =?(Foo)?Proxy.newProxyInstance(
    ????????????Foo.
    class.getClassLoader(),
    ????????????
    new?Class[]?{?Foo.class?},
    ????????????handler
    ????????????);
    ????????System.out.println(f.doSomthing());
    ????}

    ????
    ????
    public?static?void?main(String?[]?args){
    ????????ProxyUse?use
    =new?ProxyUse();
    ????????
    try{
    ????????????use.useProxy1();
    ????????????use.useProxy2();
    ????????}
    catch(Exception?ex){
    ????????????ex.printStackTrace();
    ????????}

    ????}


    }

    看一下java api doc

    static?InvocationHandlergetInvocationHandler(Object?proxy)
    ??????????返回指定代理實(shí)例的調(diào)用處理程序。
    static?Class<?>getProxyClass(ClassLoader?loader, Class<?>...?interfaces)
    ??????????返回代理類(lèi)的 java.lang.Class 對(duì)象,并向其提供類(lèi)加載器和接口數(shù)組。
    static?booleanisProxyClass(Class<?>?cl)
    ??????????當(dāng)且僅當(dāng)指定的類(lèi)通過(guò) getProxyClass 方法或 newProxyInstance 方法動(dòng)態(tài)生成為代理類(lèi)時(shí),返回 true。
    static?ObjectnewProxyInstance(ClassLoader?loader, Class<?>[]?interfaces, InvocationHandler?h)
    ??????????返回一個(gè)指定接口的代理類(lèi)實(shí)例,該接口可以將方法調(diào)用指派到指定的調(diào)用處理程序。

    沒(méi)時(shí)間了,先這樣吧。


    ?

    posted on 2006-07-26 17:48 dingfirst 閱讀(266) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品理论电影在线观看 | 久久免费国产精品| 亚洲AV无码一区二区二三区软件 | xxxxx做受大片在线观看免费 | 国产亚洲一区二区三区在线观看| 在线看片免费不卡人成视频| 18禁成人网站免费观看| 95免费观看体验区视频| 91精品国产免费入口| **aaaaa毛片免费同男同女| 4444www免费看| 国产又黄又爽又猛免费app| 成人毛片免费观看视频大全| 免费视频成人手机在线观看网址| 菠萝菠萝蜜在线免费视频| 黄页网址大全免费观看12网站 | 亚洲成Av人片乱码色午夜| 亚洲AV无码成人精品区天堂| 亚洲国产综合精品中文第一区 | www国产亚洲精品久久久日本| 日韩精品无码人妻免费视频| 99re6免费视频| a国产成人免费视频| 日韩精品免费视频| 中文字幕免费在线看电影大全| 青草久久精品亚洲综合专区| 亚洲免费人成视频观看| 国产亚洲精品成人AA片| 国产亚洲精品美女久久久久久下载| 亚洲免费在线视频观看| 亚洲成av人片在线天堂无| 一级毛片人与动免费观看 | 亚洲中文无码永久免费| 亚洲一区二区影视| 亚洲校园春色小说| 亚洲欧美成人av在线观看| 亚洲冬月枫中文字幕在线看| 亚洲AV日韩综合一区尤物| 亚洲av午夜国产精品无码中文字| 一级a性色生活片久久无少妇一级婬片免费放 | 曰批全过程免费视频播放网站|