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

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

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

    Kela's Blog

                前面的路很坎坷,但畢竟是條路.也許走過這一段就會發現,走過去就是夢想中的地方.因此堅持成為此刻唯一能做且必須去做的事情.
    posts - 9, comments - 27, trackbacks - 0, articles - 15

    kela的筆記 應用程序框架 ---- spring(6)

    Posted on 2006-08-29 15:27 Kela 閱讀(187) 評論(0)  編輯  收藏 所屬分類: 我的筆記(Spring)

    摘要:Spring AOP ,從代理機制看AOP,靜態代理的范例。

    ?

    在一個服務的流程中插入與業務邏輯無關的系統服務邏輯(比如 LoggingSecurity),這樣的邏輯稱為Cross-cutting concerns,將Cross-cutting concerns獨立出來設計為一個對象,這樣的特殊對象稱之為AspectAspect-oriented programming著重在Aspect的設計及與應用程序的織入(Weave)。

    ?

    ???? 靜態代理

    ?

    在靜態代理的實現中,代理對象與被代理對象都必須實現同一個接口,在代理對象中可以實現日志記錄等相關服務,并在需要的時候再呼叫被代理的對象,如此代理對象當中就可以僅保留業務相關職責。

    ???? IHello.java

    ?

    package com.kela.spring.aop;

    ?

    public interface IHello {

    ??? public void hello(String name);

    }

    ???? HelloSpeaker.java

    ?

    package com.kela.spring.aop;

    ?

    public class HelloSpeaker implements IHello {

    ?

    ??? public void hello(String name) {

    ??????? System.out.println(" 你好," + name);

    ??? }

    }

    ???? HelloProxy.java

    ?

    package com.kela.spring.aop;

    ?

    import org.apache.log4j.Logger;

    ?

    public class HelloProxy implements IHello {

    ??? private Logger log = Logger.getLogger(this.getClass().getName());

    ???

    ??? private IHello helloObject;

    ???

    ??? public HelloProxy(IHello helloObject) {

    ??????? this.helloObject = helloObject;

    ??? }

    ???

    ??? public void hello(String name) {

    ??????? // 日志記錄

    ??????? log.info("hello 方法開始執行... ...");

    ??????? // 執行業務邏輯

    ??????? helloObject.hello(name);

    ??????? // 日志記錄

    ??????? log.info("hello 方法執行完畢");

    ??? }

    }

    ???? ProxyDemo.java

    ?

    package com.kela.spring.aop;

    ?

    public class ProxyDemo {

    ?

    ??? public static void main(String[] args) {

    ??????? HelloProxy proxy = new HelloProxy(new HelloSpeaker());

    ???????

    ??????? proxy.hello("KELA");

    ??? }

    }

    ???? 運行結果

    ?

    HelloProxy - hello 方法開始執行 ... ...

    ? 你好, KELA

    HelloProxy - hello 方法執行完畢

    ?

    ???? 學習小結

    ?

    靜態代理中,代理對象的一個接口只服務于一種類型的對象,而且如果要代理的方法很多,勢必要為每個方法進行代理,靜態代理在程序規模稍大時就無法勝任。

    分享到:
    主站蜘蛛池模板: 国产免费毛不卡片| 永久免费av无码网站韩国毛片| 免费观看男人免费桶女人视频| 91亚洲国产成人久久精品| 在线美女免费观看网站h| 亚洲乱亚洲乱淫久久| 一区二区三区观看免费中文视频在线播放| 在线观看亚洲av每日更新| h视频免费高清在线观看| 亚洲永久精品ww47| 久久免费视频观看| 亚洲视频免费观看| 一色屋成人免费精品网站| 亚洲性线免费观看视频成熟| 97无码免费人妻超级碰碰碰碰| 亚洲色欲啪啪久久WWW综合网| 成全影视免费观看大全二| 亚洲妇女无套内射精| 免费一级特黄特色大片在线 | 伊人婷婷综合缴情亚洲五月| 一区二区免费在线观看| 亚洲av最新在线网址| 久久伊人免费视频| 中文字幕 亚洲 有码 在线 | 亚洲成人黄色网址| 日韩毛片免费无码无毒视频观看 | 五级黄18以上免费看| 亚洲AV无码久久精品蜜桃| 精品国产免费人成电影在线观看| 精品国产成人亚洲午夜福利| 亚洲国产精品13p| 国产精品99久久免费观看| 国产亚洲精aa在线看| 亚洲国产成人乱码精品女人久久久不卡 | 99久久亚洲综合精品成人网| 美女视频黄a视频全免费| 污视频网站免费在线观看| 亚洲国产精品一区二区久久hs| 100000免费啪啪18免进| 粉色视频在线观看www免费| 亚洲V无码一区二区三区四区观看|