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

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

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

    隨筆-42  評(píng)論-349  文章-4  trackbacks-0


    (殘夢(mèng)追月原創(chuàng),轉(zhuǎn)載請(qǐng)注明,如有不當(dāng)之處,敬請(qǐng)斧正!
    本文地址:http://m.tkk7.com/cmzy/archive/2008/08/10/220917.html)

           下面以JdkRegexpMethodPointcut為例,通過(guò)一個(gè)完整的范例展示如何使用靜態(tài)切入點(diǎn)(完整工程代碼見例程4.3)。在工程中我們定義一個(gè)People類和一個(gè)切面,并將他們?cè)赟pring xml配置文件中聯(lián)系起來(lái)。當(dāng)People對(duì)象執(zhí)行我們切入點(diǎn)中定義的方法時(shí),前置裝備LogerPeople將會(huì)給出相應(yīng)的提示信息。

            新建一個(gè)工程AOP_Test4.3,添加Spring開發(fā)庫(kù)后,新建aop.test包。
            創(chuàng)建目標(biāo)類People,該類有speak、Running、Loving、died四個(gè)成員方法。代碼如下:

            創(chuàng)建一個(gè)類名為L(zhǎng)ogerPeople的前置裝備,它實(shí)現(xiàn)MethodBeforeAdvice接口,在before方法中利用Log4J輸出相關(guān)信息,代碼如下:

    >         再編寫Spring配置文件,完成后如下:

    >         為了讓ProxyFactoryBean使用我們定義的JdkRegexpMethodPointcut而不是默認(rèn)的Pointcut,我們需要配置一個(gè)切入點(diǎn)配置器PointcutAdvisor,其advice屬性指定裝備,Pointcut屬性指定切入點(diǎn)。然后再將該切入點(diǎn)配置器注入給ProxyFactoryBean。各個(gè)Bean的依賴關(guān)系和說(shuō)明如下:

     

    圖4.4  ProxyFactoryBean代理生成

               在JdkRegexpMethodPointcut中,我們使用了它兩個(gè)屬性patterns和excludedPattern:patterns利用正則表達(dá)式指定了我們要監(jiān)視的方法這里是包含了所有的方法;excludedPattern指定了我們要排除的方法,這里指定了以Run開頭的方法。

    注意:

    1)“.*spea.*”表示所有名字以spea開頭的方法,例程中是指speak方法;

    2)“.*ing”表示所有名字以ing結(jié)束的方法,例程中是指Running和Loving方法;

    3)“.*di.*”表示所有名字以di開頭的方法,例程中是指died方法;

    4)“.*Run.*”表示所有名字以Run開頭的方法,例程中是指Running方法;

           創(chuàng)建含主方法的測(cè)試類TestMain,在一種我們從ProxyFactoryBean中獲得People實(shí)例對(duì)象,并一次調(diào)用該對(duì)象的方法,代碼如下:

            該類運(yùn)行結(jié)果如下:

     

    圖4.5  例程4.3運(yùn)行結(jié)果

             可以看到People類中的speak、Loving、died方法已經(jīng)被攔截。但是Running方法卻沒有攔截,這是因?yàn)槲覀冊(cè)贘dkRegexpMethodPointcut中指定其excludedPattern屬性把它排除在切入點(diǎn)之外的緣故。

     



    By:殘夢(mèng)追月
    posted on 2008-08-10 16:52 殘夢(mèng)追月 閱讀(2174) 評(píng)論(0)  編輯  收藏 所屬分類: Spring
    主站蜘蛛池模板: 亚洲&#228;v永久无码精品天堂久久 | 国产亚洲人成网站在线观看| 在线jyzzjyzz免费视频| 亚洲AV无码专区国产乱码不卡 | 国产精品亚洲片在线va| 亚洲成人高清在线| 91精品手机国产免费| 色九月亚洲综合网| 亚洲VA中文字幕无码毛片| 搡女人真爽免费视频大全| 国产精品免费大片一区二区| 亚洲神级电影国语版| 亚洲色偷偷综合亚洲AV伊人| 999久久久免费精品国产| 一级黄色免费网站| 亚洲人成在线免费观看| 国产成人亚洲影院在线观看| 无码区日韩特区永久免费系列| 一级人做人a爰免费视频 | 国产性生大片免费观看性| 四虎必出精品亚洲高清| 亚洲国产精品无码专区| 国产高清在线免费| 免费A级毛片无码A∨免费| 国产精品永久免费| 亚洲精品无码永久在线观看男男| 久久精品国产精品亚洲色婷婷| 四虎免费影院4hu永久免费| 国产亚洲蜜芽精品久久| 亚洲日本乱码一区二区在线二产线| 亚洲欧洲国产成人综合在线观看 | 成人免费视频88| 9277手机在线视频观看免费| eeuss免费影院| 在线观看免费亚洲| 亚洲人成影院在线高清| 亚洲国产香蕉碰碰人人| 亚洲综合国产一区二区三区| 国产成人免费片在线观看| 中文字幕无码免费久久99 | 亚洲国产精品成人网址天堂|