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

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

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

    佳麗斯 加厚雙人/單人秋冬被子暖冬 羊毛被芯羊毛柔絲被特價包郵 憂憂魚冬外穿打底褲女秋冬厚長褲女褲加絨加厚高腰彈力鉛筆褲靴褲 韓國代購2013新款 韓版秋冬休閑女時尚磨破口袋衛衣韓版學生裝 潮

    有時,退一步,能一口氣進幾步,只是這先退一步需要勇氣和自信。

    用心愛你,努力工作。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      70 隨筆 :: 1 文章 :: 33 評論 :: 0 Trackbacks
    接下來學習有關AOP,首先了解有關代理機制(Spring實現AOP的一種方式)。代理分為兩種:靜態代理與動態代理。
    通過一個例子來了解靜態代理。
     Lib包下載:
    http://www.ziddu.com/download/3555992/SpringAndaop.rar.html
    (1)一個簡單的接口IHello

    package com.proxy;
    /**
     * 接口
     *
     * **/
    public interface IHello {
     public void hello(String name);

    }
    (2)實現類HelloSpeaker

    package com.proxy;

    public class HelloSpeaker implements IHello{

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

    }
    (3)代理類HelloProxy

    package com.proxy;
    import java.util.logging.*;
    /**
     * 靜態代理類,代理真正的實現類HelloSpeaker來執行
     *
     * */
    public class HelloProxy implements IHello{

     private Logger logger=Logger.getLogger(this.getClass().getName());
     
     private IHello helloObject;//接口聲明

     //構造函數
     public HelloProxy(IHello helloObject)
     {
      this.helloObject=helloObject;
     }
     //接口實現方法
     public void hello(String name)
     {
      log("hello methods starts...");
      helloObject.hello(name);
      log("hello methods ends...");
     }
     private void log(String msg)
     {
      logger.log(Level.INFO,msg);
     }

    }

    (4)測試類ProxyDemo

    package com.proxy;

    public class ProxyDemo {
     public static void main(String[] args)
     {
      //靜態代理模式
      HelloProxy proxy=new HelloProxy(new HelloSpeaker());
      proxy.hello("ducklyl");
     }

    }
    運行測試類,結果為:
    Hello,ducklyl
    2007-10-28 10:52:26 com.proxy.HelloProxy log
    信息: hello methods starts...
    2007-10-28 10:52:27 com.proxy.HelloProxy log
    信息: hello methods ends...



    接下來介紹動態代理
    (1)創建動態代理類LogHandler

    package com.proxy;

    import java.lang.reflect.InvocationHandler;
    import java.lang.reflect.Method;
    import java.lang.reflect.Proxy;
    import java.util.logging.*;
    /**
     *
     * 動態代理類
     * **/

    public class LogHandler implements InvocationHandler {

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

     private Object delegate;

     public LogHandler()
     {
     }
     
     public Object bind(Object delegate) {
      this.delegate = delegate;
      log("bind starts...");
      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);
       log("method ends..." + method);
      } catch (Exception e) {
       log(e.toString());
      }
      return null;
     }

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

    }
    (2)創建測試類ProxyTest

    package com.proxy;

    public class ProxyTest {
     public static void main(String[] args)
     {
      LogHandler logHandler=new LogHandler();
      //logHandler代理HelloSpeaker實例,調用hello
      IHello helloProxy=(IHello)logHandler.bind(new HelloSpeaker());
      helloProxy.hello("ducklyl");
     }

    }

    運行測試類,結果為:
    Hello,ducklyl
    2007-10-28 11:24:59 com.proxy.LogHandler log
    信息: bind starts...
    2007-10-28 11:24:59 com.proxy.LogHandler log
    信息: method starts...public abstract void com.proxy.IHello.hello(java.lang.String)
    2007-10-28 11:24:59 com.proxy.LogHandler log
    信息: method ends...public abstract void com.proxy.IHello.hello(java.lang.String)


    posted on 2007-10-28 11:00 王生生 閱讀(970) 評論(0)  編輯  收藏 所屬分類: Spring
    森露2013新款豹紋打底衫 高領 女 長袖 修身長袖t恤女 加絨加厚冬 2013春秋新款女裝 潮修身大碼長袖小西裝外套女 韓版中長款小西裝 憂憂魚2013秋冬新款直筒褲女顯瘦長褲加絨黑色休閑褲修身西褲女褲
    主站蜘蛛池模板: 亚洲国产成人综合| 久久久久亚洲爆乳少妇无 | 国产特黄一级一片免费| 亚洲精品无码mⅴ在线观看| 亚欧在线精品免费观看一区| 久久亚洲国产伦理| 暖暖在线视频免费视频| 国产av天堂亚洲国产av天堂| 两个人看的www视频免费完整版| 亚洲人成网7777777国产| 国产午夜无码片免费| 亚洲中文字幕久久精品无码APP | 国产精品视频免费一区二区| 亚洲一区二区三区免费在线观看| 成年大片免费高清在线看黄| heyzo亚洲精品日韩| jizz免费在线影视观看网站| 久久WWW色情成人免费观看| 亚洲日本一线产区和二线| 午夜小视频免费观看| 香蕉视频免费在线| 亚洲精品午夜无码专区| 国产午夜不卡AV免费| 亚洲国产aⅴ综合网| 久久久久久噜噜精品免费直播| 国产亚洲3p无码一区二区| 日韩免费的视频在线观看香蕉 | 亚洲午夜一区二区电影院| 青青草免费在线视频| 日韩国产精品亚洲а∨天堂免| 亚洲成人影院在线观看| 免费播放在线日本感人片| 亚洲黄色片在线观看| 毛片免费在线观看网址| 久青草国产免费观看| 国产亚洲美女精品久久久久狼| 日本亚洲免费无线码| 视频一区在线免费观看| 亚洲va无码专区国产乱码| 国产免费久久精品99re丫y| 成人在线免费视频|