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

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

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

    隨筆-42  評論-349  文章-4  trackbacks-0

    (殘夢追月原創,轉載請注明)
    http://m.tkk7.com/cmzy/archive/2008/08/25/224120.html
    接上篇:Spring中基于aop命名空間的AOP 一(一點準備工作和一個例子)

    2、聲明一個切面
    ????? 在基于AOP命名空間的Spring AOP中,要聲明一個切面,需要使用<aop:config/>的子標簽<aop:aspect>。<aop:aspect>標簽有一個ref屬性必須被賦值,它用于指定和該切面關聯的受管Bean(backing bean,以后我們都將使用Backing Bean來稱呼這樣的Bean)。正如下例所示,該Bean對應的java類是一個普通的java類,在該類中定義了切面的通知方法。此外,<aop:aspect>標簽還有兩個可選的order屬性和id屬性,order屬性用于指定該切面的加載順序,id屬性用于標識該切面。范例如下:

    3、聲明一個切入點
    ????? 要聲明一個切入點,可以使用<aop:aspect>的子標簽<aop:pointcut>,在Spring2.5中它有兩個屬性id和expression,分別用于標示該切入點和設定該切入點表達式。例如:


    <aop:pointcut>標簽的expression屬性使用前面介紹的切入點表達式語言,也就是說支持AspectJ切入點表達式。但是由于xml對"&&"、"||"、"!"等邏輯運算符不友好,@AspectJ切入點表達式語言中使用的這些邏輯運算符在xml配置中需要分別用"and"、"or"和"not"來代替。
    有時候,我們也需要在xml中使用@Pointcut注解聲明的切入點,那么該如何呢?大家可能記得,我們可以在切入點表達式中可以引用另一個切入點。對了,就在這里,我們使用該特性可以完成這個任務,如下:

    注意:這里我們必須使用全路徑來標示引用的切入點。

    4、 聲明一個通知
    ????? 和@AspectJ一樣,基于AOP命名空間的配置也可以定義五種通知類型,并且使用方式和特性類似。與@AspectJ不同的是,配置信息從Annotation中轉移到了xml配置文件。
    ??? 1)、前置通知
    ??? 聲明一個前置通知可以使用<aop:aspect>的子標簽<aop:before/>。該標簽的屬性說明如下表:

    <aop:before/>標簽屬性說明

    屬性

    說明

    pointcut

    指定該通知的內置切入點

    pointcut-ref

    通過 id 引用已定義的切入點

    method

    指定通知對應的方法,該方法必須已在切面的 backing bean 中被聲明

    arg-names

    通過方法的參數名字來匹配切入點參數

    ????? 對于一個通知來說,切入點和對應的通知方法是必須的。也就是說,在這些屬性中,method屬性是必須的,我們必須要給通知指定一個對應的方法;pointcut屬性和pointcut-ref必須有一個被指定,以此確定該通知的切入點。范例如下:

    ???? 2)、 后置通知
    ???? 聲明一個后置通知使用<aop:after/>標簽,它的屬性等和<aop:before/>標簽類似,下面是范例:

    ???? 3)、 返回后通知
    ????? <aop:after-returning/>標簽可以聲明一個返回后通知,該標簽的屬性和<aop:before/>相比它多了一個returning屬性。該屬性的意義類似于@AfterReturning注解的returning屬性,用于將鏈接點的返回值傳給通知方法。用法如下:

    ?????? 4)、 異常通知
    ??????? 聲明一個異常通知使用<aop:after-throwing />標簽,它有一個類似于throwing屬性又來指定該通知匹配的異常類型。用法如下:

    ????? 5)、 環繞通知
    ????? 環繞通知是所有通知中功能最強大的通知,用<aop:around/>標簽來聲明。用法如下:


    (完)



    By:殘夢追月
    posted on 2008-08-25 12:55 殘夢追月 閱讀(4664) 評論(10)  編輯  收藏 所屬分類: Spring

    評論:
    # re: Spring中基于aop命名空間的AOP 二(聲明一個切面、切入點和通知) 2008-08-25 13:36 | 隔葉黃鶯
    你也這樣用這個語法著色的呀,還把上面那一行顯示了出來,把copy to clipboard換成中文會好些。  回復  更多評論
      
    # re: Spring中基于aop命名空間的AOP 二(聲明一個切面、切入點和通知) 2008-08-25 13:48 | 殘夢追月
    @隔葉黃鶯
    :-),我拷貝您的啦……

    哪個我不會換……不知道怎么換呀!而且在firefox下copy to clipboard顯示不出來——沒研究過SyntaxHighlighter。

    我發現把用這個著色的文章導入到javaeye上去就可以使用javaeye的格式了……呵呵,意外發現啊……  回復  更多評論
      
    # re: Spring中基于aop命名空間的AOP 二(聲明一個切面、切入點和通知) 2008-08-25 17:35 | 隔葉黃鶯
    哈哈,不意外,因為我就是參考 JavaEye 的實現,所以貼回到 JavaEye 上去正合了它的口味  回復  更多評論
      
    # re: Spring中基于aop命名空間的AOP 二(聲明一個切面、切入點和通知) 2008-08-25 17:53 | 殘夢追月
    @隔葉黃鶯
    哈哈,原來如此……我就看兩個的實現怎么這么像呢……
    你把哪個庫壓縮過的哦……好小的一個js,
    但是貌似不支持<pre>標簽。
    我本來想用最新的SyntaxHighlighter版本……但是不知道怎樣把一堆的JS文件合并起來……干脆懶得搞它了……
    哈哈,現在我可以一稿多投了……  回復  更多評論
      
    # re: Spring中基于aop命名空間的AOP 二(聲明一個切面、切入點和通知) 2008-08-25 21:01 | 隔葉黃鶯
    還搞一稿多投,收幾份稿費呀,我就是只在 BlogJava 留個印,不想再跑別處張揚,別人有過多次約稿,也拒絕他們了。  回復  更多評論
      
    # re: Spring中基于aop命名空間的AOP 二(聲明一個切面、切入點和通知) 2008-08-25 21:26 | 殘夢追月
    @隔葉黃鶯
    哈哈,只是導過去而已,有時候做個RSS,我又不想賺錢。
    你是高手……
    但是我是新手,想找工作丫,工作不好找……先到處亂踩點……  回復  更多評論
      
    # re: Spring中基于aop命名空間的AOP 二(聲明一個切面、切入點和通知) 2008-08-26 11:05 | 隔葉黃鶯
    @殘夢追月
    你找工作,在簡歷上還寫上你的博客地址不成,我這邊是同事都不知道我的博客。  回復  更多評論
      
    # re: Spring中基于aop命名空間的AOP 二(聲明一個切面、切入點和通知) 2008-08-26 11:23 | 殘夢追月
    @隔葉黃鶯
    也有道理哦……但是現在不曉得朗格辦了&……
    只好先把它維護起,大不了做個紀念……
    又不是名牌大學……又不是計算機專業……郁悶……
    ……  回復  更多評論
      
    # re: Spring中基于aop命名空間的AOP 二(聲明一個切面、切入點和通知) 2008-08-26 11:35 | 隔葉黃鶯
    朗格辦 是哪的口音  回復  更多評論
      
    # re: Spring中基于aop命名空間的AOP 二(聲明一個切面、切入點和通知) 2008-08-26 12:00 | 殘夢追月
    @隔葉黃鶯
    四川滴……
    我是四川人,也在雅安讀書……要畢業了&……  回復  更多評論
      
    主站蜘蛛池模板: 色欲A∨无码蜜臀AV免费播| 亚洲国产成人AV在线播放| 成年免费a级毛片| 午夜两性色视频免费网站| 亚洲中文字幕无码av永久| 永久黄网站色视频免费直播| 亚洲国产精品嫩草影院 | 日韩内射激情视频在线播放免费| 国产亚洲精品美女久久久| 国产成人精品免费视频大全| 亚洲精品午夜无码专区| 日本免费人成网ww555在线| 亚洲国产成人精品不卡青青草原| 午夜免费福利视频| 亚洲国产精品美女| 免费大片在线观看网站| 精品亚洲A∨无码一区二区三区| 日韩免费在线视频| 亚洲欧洲国产视频| 中文字幕无码视频手机免费看| 国产精品亚洲精品| 国产精品免费视频播放器| a一级爱做片免费| 久久伊人久久亚洲综合| 免费观看激色视频网站bd| 亚洲精华国产精华精华液好用| 免费一级肉体全黄毛片| 三级毛片在线免费观看| 亚洲美女人黄网成人女| 四虎免费在线观看| 国产精品无码免费专区午夜| 亚洲人成电影在线天堂| 午夜精品在线免费观看| 99久久免费国产精精品| 亚洲一卡二卡三卡| 亚洲精品偷拍视频免费观看| 美丽的姑娘免费观看在线播放| 精品国产亚洲第一区二区三区| 国产A在亚洲线播放| 最新仑乱免费视频| 成人网站免费看黄A站视频|