<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 王生生 閱讀(976) 評論(0)  編輯  收藏 所屬分類: Spring
    森露2013新款豹紋打底衫 高領 女 長袖 修身長袖t恤女 加絨加厚冬 2013春秋新款女裝 潮修身大碼長袖小西裝外套女 韓版中長款小西裝 憂憂魚2013秋冬新款直筒褲女顯瘦長褲加絨黑色休閑褲修身西褲女褲
    主站蜘蛛池模板: 黄床大片30分钟免费看| 亚洲依依成人精品| eeuss影院www天堂免费| 亚洲乱亚洲乱少妇无码| 免费无码AV一区二区| 全亚洲最新黄色特级网站| 成人婷婷网色偷偷亚洲男人的天堂| AV免费网址在线观看| 亚洲人成人无码.www石榴| 天天摸夜夜摸成人免费视频| 亚洲精品无码人妻无码| 国产精品美女自在线观看免费| MM1313亚洲国产精品| 亚洲欧洲中文日韩av乱码| 亚洲一级片免费看| 337p欧洲亚洲大胆艺术| 国产成人免费网站| 色综合久久精品亚洲国产| 亚洲一级黄色视频| 免费福利电影在线观看| 亚洲国产成人精品久久| 免费国产真实迷j在线观看| 久青草视频在线观看免费| 亚洲电影一区二区| AV片在线观看免费| a毛片成人免费全部播放| 亚洲视频在线观看免费| 成年女人喷潮毛片免费播放| 青青免费在线视频| 亚洲毛片在线观看| 免费无码不卡视频在线观看| free哆拍拍免费永久视频| 亚洲美女激情视频| 国产又长又粗又爽免费视频 | 亚洲AV无码乱码在线观看富二代| 91精品全国免费观看含羞草| 亚洲国产精品无码久久九九大片| 国产成人麻豆亚洲综合无码精品 | 亚洲福利中文字幕在线网址| 日韩免费无码视频一区二区三区| 亚洲综合激情五月色一区|