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

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

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

    如鵬網 大學生計算機學習社區

    CowNew開源團隊

    http://www.cownew.com 郵件請聯系 about521 at 163.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      363 隨筆 :: 2 文章 :: 808 評論 :: 0 Trackbacks

    下面是 AOP 的一些基本概念

    aspect (方面):實現了 cross-cutting 功能,是針對方面的模塊,是為題的不同關注點,我們可以將這些方面通過某種方式加入到核心關注點中。

    jointpoint (連接點):連接點是方面插入應用程序的地方,該點能被方法調用。

    advice (通知): advice 是我們關注點功能的實現,它通知程序新的行為。如在權限處理中, permission advice 包括權限控制的實現代碼。

    pointcut (切入點): pointcut 可以指定把哪些 advice 應用到 jointpoint 上去、如何應用上去以及應用的位置。

    AOP 包括三個開發步驟:

    關注點分解:分解需求提取出橫切關注點和一般關注點。把核心模塊級關注點和系統級的橫切關注點分離開來。就前面所提到的網上購物系統來說,可以分解出四個關注點:核心的訂單處理、權限、日志和事務。

    關注點實現:各自獨立的實現這些關注點。

    關注點的重新組合:在這一步里,通過創建一個模塊單元來指定關注點重組的規則。重組過程被稱為織入( Weaving )。以前邊的網上購物系統來說,可以通過某種方式指定每個操作結束后需要記錄日志、操作開始前要驗證是否有權限、操作失敗要事務回滾。

    ?

    ?

    下面是 AspectJ 實現日志記錄的一個例子:

    public aspect AutoLog

    {?

    pointcut publicMethods() :

    execution(public * org.apache.cactus..*(..));

    pointcut logObjectCalls() :

    execution(* Logger.*(..));

    pointcut loggableCalls() :

    publicMethods() && ! logObjectCalls();

    before() : loggableCalls()

    {

    Logger.entry(thisJoinPoint.getSignature().toString());

    }

    after() : loggableCalls()

    {

    Logger.exit(thisJoinPoint.getSignature().toString());

    }

    }

    可以看到,這里邊有很多 Java 中沒有的關鍵字,比如 aspect 、 pointcut 等。這些關鍵字都是 AspectJ 提供的,使用這些擴展我們可以用 AspectJ Java 類增加字段及方法,甚至使 Java 支持多繼承。

    ?

    ?

    Spring 沒有自己進行 AOP 技術的實現 , 它的主要實現技術來自于 AOP 聯盟( AOPAlliance )。

    Spring AOP 中的術語不像 AspectJ 那樣多,因而也更容易理解和學習。只要理解三個概念就可以, advice , pointcut advisor

    advice 是要向別的模塊內部不同的地方注入的代碼

    pointcut 定義了需要注入 advice 的位置,通常是某個特定的類的一個 public 方法

    advisor pointcut advice 的裝配器,是將 advice 注入主程序中預定義位置的代碼

    posted on 2007-02-20 00:50 CowNew開源團隊 閱讀(203) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲大片免费观看| 在线电影你懂的亚洲| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 韩日电影在线播放免费版| 久久久久国产成人精品亚洲午夜| 色噜噜狠狠色综合免费视频| 亚洲第一永久AV网站久久精品男人的天堂AV | 亚洲AV综合色区无码二区偷拍 | 亚洲成人在线免费观看| 91大神亚洲影视在线| 0588影视手机免费看片| 亚洲一区二区三区久久久久| 大地资源在线观看免费高清| 亚洲av午夜电影在线观看| 免费乱理伦在线播放| 中文字幕免费在线观看动作大片| 亚洲AV无码专区电影在线观看| 日韩在线不卡免费视频一区| 亚洲伊人久久大香线蕉影院| 午夜一级毛片免费视频| 日本高清不卡中文字幕免费| 日本红怡院亚洲红怡院最新 | 美女视频黄频a免费观看| 亚洲午夜久久久久久噜噜噜| 99久9在线|免费| 亚洲高清毛片一区二区| 亚洲一区二区高清| 久久99国产综合精品免费| 国产精品亚洲专区无码唯爱网 | 怡红院免费的全部视频| 亚洲特级aaaaaa毛片| 俄罗斯极品美女毛片免费播放| 免费在线看黄的网站| 亚洲欧美精品午睡沙发| 久久久久亚洲AV无码专区网站| 182tv免费视视频线路一二三| 美女黄频a美女大全免费皮| 91在线精品亚洲一区二区| 国产片免费福利片永久| 一区二区免费视频| 麻豆va在线精品免费播放|