<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秋冬新款直筒褲女顯瘦長褲加絨黑色休閑褲修身西褲女褲
    主站蜘蛛池模板: 国产高清对白在线观看免费91 | 亚洲成A人片77777国产| 亚洲国产日韩在线人成下载| 亚洲综合精品伊人久久| 免费A级毛片无码A∨免费| 国产亚洲av人片在线观看| 理论秋霞在线看免费| 亚洲A丁香五香天堂网| 人成电影网在线观看免费| 亚洲国产精品综合久久网络| 一级特黄a免费大片| 亚洲色中文字幕无码AV| 久操视频在线免费观看| 亚洲高清美女一区二区三区| 国产人在线成免费视频| 亚洲国产成人AV网站| 亚洲欧洲精品成人久久曰影片| 免费萌白酱国产一区二区三区| 亚洲四虎永久在线播放| 国产香蕉九九久久精品免费| 亚洲精品自偷自拍无码| 亚洲另类少妇17p| a级毛片免费在线观看| 亚洲国语在线视频手机在线| 成人黄动漫画免费网站视频| 美女免费精品高清毛片在线视| 亚洲人成77777在线播放网站| 精品无码人妻一区二区免费蜜桃| 亚洲 日韩 色 图网站| 亚洲第一区二区快射影院| 国产在线a不卡免费视频| 久久精品免费大片国产大片| 亚洲成人免费网址| 国产午夜鲁丝片AV无码免费| 亚洲AV无码乱码在线观看代蜜桃| 在线观看91精品国产不卡免费| 在线观看日本亚洲一区| 亚洲精品国产va在线观看蜜芽| 久久午夜伦鲁片免费无码| 亚洲成av人片天堂网无码】| 精品久久久久久久免费人妻|