三、面向切面編程(AOP)

1. 概念

  1. Aspect-Oriented Programming (AOP)可以說是OOP(Object Oriented Programming换吧,面向?qū)ο缶幊?的補(bǔ)充和完善折晦。

  2. OOP引入封裝、繼承沾瓦、多態(tài)等概念來建立一種對象層次結(jié)構(gòu)满着,用于模擬公共行為的一個(gè)集合。不過OOP允許開發(fā)者定義縱向的關(guān)系贯莺,但并不適合定義橫向的關(guān)系风喇,例如日志功能。

  3. AOP技術(shù)恰恰相反缕探,它利用一種稱為"橫切"的技術(shù)魂莫,剖解開封裝的對象內(nèi)部,并將那些影響了多個(gè)類的公共行為封裝到一個(gè)可重用模塊爹耗,并將其命名為"Aspect"耙考,即切面。

2. AOP核心概念

  • Aspect(切面)
  • Join point
  • Advice
  • Pointcut
  • Introduction
  • Target object
  • AOP proxy
  • Weaving

3. Spring對AOP的支持

3.1示例
    <!--AOP begin-->
    <aop:aspectj-autoproxy proxy-target-class="true"/>
    <bean id="testAspect" class="com.xxxx.fabu.aspect.TestAspect"/>
    <!--要求進(jìn)入到AOP的配置潭兽,重點(diǎn)配置切入點(diǎn)倦始,以及確定切入的處理操作方法-->
    <aop:config>
        <aop:pointcut id="pointCut" expression="execution(* com.xxxx.fabu.service..*.*(..)) and args(id)"/>
        <aop:aspect ref="testAspect"><!--進(jìn)行切面的配置,如果是切面控制應(yīng)該有一個(gè)控制的類-->
            <aop:before method="beforeMethod" pointcut-ref="pointCut" arg-names="id"/>
            <aop:after method="afterMethod" pointcut="execution(* com.xxxx.fabu.service..*.*(..))"/>
        </aop:aspect>
    </aop:config>
    <!--AOP end-->

3.2 其他示例

  • the execution of any public method:
execution(public * *(..))
  • the execution of any method with a name beginning with "set":
execution(* set*(..))
  • the execution of any method defined by the AccountService interface:
execution(* com.xyz.service.AccountService.*(..))
  • the execution of any method defined in the service package:
execution(* com.xyz.service.*.*(..))
  • the execution of any method defined in the service package or a sub-package:
execution(* com.xyz.service..*.*(..))
  • any join point (method execution only in Spring AOP) within the service package:
within(com.xyz.service.*)
  • any join point (method execution only in Spring AOP) within the service package or a sub-package:
within(com.xyz.service..*)
  • any join point (method execution only in Spring AOP) where the proxy implements the AccountService interface:
this(com.xyz.service.AccountService)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末山卦,一起剝皮案震驚了整個(gè)濱河市鞋邑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌账蓉,老刑警劉巖炫狱,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異剔猿,居然都是意外死亡视译,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門归敬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來酷含,“玉大人鄙早,你說我怎么就攤上這事∫窝牵” “怎么了限番?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長呀舔。 經(jīng)常有香客問我弥虐,道長,這世上最難降的妖魔是什么媚赖? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任霜瘪,我火速辦了婚禮,結(jié)果婚禮上惧磺,老公的妹妹穿的比我還像新娘颖对。我一直安慰自己,他們只是感情好磨隘,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布缤底。 她就那樣靜靜地躺著,像睡著了一般番捂。 火紅的嫁衣襯著肌膚如雪个唧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天设预,我揣著相機(jī)與錄音坑鱼,去河邊找鬼。 笑死絮缅,一個(gè)胖子當(dāng)著我的面吹牛鲁沥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播耕魄,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼画恰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了吸奴?” 一聲冷哼從身側(cè)響起允扇,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎则奥,沒想到半個(gè)月后考润,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡读处,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年糊治,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罚舱。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡井辜,死狀恐怖绎谦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情粥脚,我是刑警寧澤窃肠,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站刷允,受9級(jí)特大地震影響冤留,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜树灶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一纤怒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧破托,春花似錦肪跋、人聲如沸歧蒋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谜洽。三九已至萝映,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間阐虚,已是汗流浹背序臂。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留实束,地道東北人奥秆。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像咸灿,于是被迫代替她去往敵國和親构订。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容