<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最新在线网址| 亚洲国产成人一区二区精品区| 亚洲成人午夜电影| 免费国产黄网站在线观看可以下载 | 在线观看免费人成视频色9| 亚洲欧洲日产国产综合网| 久久久高清日本道免费观看| 亚洲国产成人片在线观看无码| 免费无码av片在线观看| 国产AV无码专区亚洲Av| 99re在线精品视频免费| 亚洲国产夜色在线观看| 成人免费无码大片a毛片| 男女超爽视频免费播放| 亚洲综合国产精品第一页| a毛片视频免费观看影院| 亚洲Aⅴ无码专区在线观看q| 最近中文字幕国语免费完整| 亚洲一区二区三区国产精品无码 | 在线观看成人免费| 狠狠综合亚洲综合亚洲色| 国产日韩成人亚洲丁香婷婷| a级大片免费观看| 亚洲一区中文字幕在线电影网| 免费高清小黄站在线观看 | 久久精品免费电影| 亚洲人成777在线播放| 永久免费观看的毛片的网站| 久久九九免费高清视频| 亚洲精品自在线拍| 国产精品免费电影| 国产午夜成人免费看片无遮挡| 亚洲小视频在线播放| 国产男女性潮高清免费网站 | 亚洲av无码国产综合专区| 夜色阁亚洲一区二区三区| 久久久久免费看黄a级试看 | 一个人看的免费高清视频日本| 亚洲av网址在线观看| 最近中文字幕无吗高清免费视频| 一个人看的hd免费视频|