<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 閱讀(191) 評論(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片| 亚洲国产精品综合福利专区| 波霸在线精品视频免费观看| 成av免费大片黄在线观看| 国产jizzjizz视频免费看| 色天使亚洲综合一区二区| 国产大片91精品免费看3| 亚洲精品乱码久久久久久蜜桃不卡| 午夜亚洲www湿好大| 99久久国产免费中文无字幕| 亚洲一级二级三级不卡| 国产成人免费高清激情明星| 亚洲国产成人精品无码一区二区| 日本h在线精品免费观看| 亚洲中文字幕无码爆乳app| 13小箩利洗澡无码视频网站免费| 国产亚洲精品自在久久| 最近最新高清免费中文字幕| 久久亚洲国产精品成人AV秋霞| 亚洲一级毛片免费看| 亚洲色偷偷色噜噜狠狠99| 大胆亚洲人体视频| 亚洲成人免费电影| 两个人的视频高清在线观看免费| 亚洲熟妇AV一区二区三区浪潮| 国产美女做a免费视频软件| 一级午夜a毛片免费视频| 亚洲国产精品热久久| 午夜两性色视频免费网站| 免费人成在线观看播放a| 伊人久久综在合线亚洲2019| 免费在线观看h片| 国产亚洲精品成人久久网站| 国内外成人免费视频| 一级毛片免费在线| 亚洲成a人片毛片在线| 亚洲成a人片在线观看久| 爱情岛论坛免费视频| 亚洲国产精品人久久| 国产成人综合久久精品免费| 污视频在线观看免费|