<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秋冬新款直筒褲女顯瘦長褲加絨黑色休閑褲修身西褲女褲
    主站蜘蛛池模板: 国产精品自拍亚洲| 亚洲日本国产乱码va在线观看| 亚洲最大的成人网站| 91免费播放人人爽人人快乐| 亚洲成人在线电影| 18禁无遮挡无码国产免费网站| 亚洲国产精品国自产拍AV| a级毛片免费全部播放| 国产亚洲精品无码拍拍拍色欲 | 无人在线直播免费观看| 色拍自拍亚洲综合图区| 蜜臀AV免费一区二区三区| 久久久久亚洲精品无码蜜桃 | 久久九九兔免费精品6| 亚洲第一页中文字幕| 丁香花免费高清视频完整版| 亚洲精品综合在线影院| 国产麻豆免费观看91| 亚洲Aⅴ在线无码播放毛片一线天| 国产精品免费视频播放器| 美美女高清毛片视频黄的一免费| 免费二级毛片免费完整视频| GOGOGO免费观看国语| 亚洲av永久无码精品秋霞电影影院| 无码午夜成人1000部免费视频| 久久精品国产亚洲AV高清热 | 国产成人3p视频免费观看| 特级毛片爽www免费版| 久久精品九九亚洲精品天堂| 免费人成视频在线观看网站| 亚洲 暴爽 AV人人爽日日碰 | 四虎成人免费影院网址| 美女被免费视频网站| 亚洲AV午夜成人片| 国产成人免费高清激情视频| 五月天国产成人AV免费观看| 亚洲最大福利视频网站| 真实乱视频国产免费观看 | 亚洲春色另类小说| 国产免费私拍一区二区三区| 免费精品久久天干天干|