spring AOP

1.0 AOP相關(guān)的概念

aop:面向切面(方面)編程貌夕,擴展功能不修改源代碼實現(xiàn)僵缺。

aop采取橫向抽取機制获三,取代了傳統(tǒng)縱向繼承體系重復(fù)性代碼寸五。

aop 的底層使用動態(tài)代理方式實現(xiàn)梳凛。

連接點:類里面那些方法可以被增強,這些方法稱為連接點梳杏。

切入點:在類里面可以有很多的方法被增強伶跷,比如實際操作中,只是增強了類里面add方法和update方法秘狞,實際增強的方法稱為切入點。

通知/增強:增強的邏輯蹈集,稱為增強烁试,比如擴展日志的功能,這個日志功能稱為增強拢肆。

? ? ? ? 前置通知:在方法之前執(zhí)行减响;

? ? ? ? 后置通知:在方法之后執(zhí)行;

? ? ? ? 異常通知:方法出現(xiàn)異常執(zhí)行郭怪;

? ? ? ?最終通知:在后置之后執(zhí)行支示;

? ? ? 環(huán)繞通知:在方法之前和之后都執(zhí)行;

切面:把增強應(yīng)用到具體方法上面的過程稱為切面鄙才。即 把增強用到切入點的過程颂鸿。

2.0 spring 中aop操作

在spring里面進行aop操作,使用aspectj實現(xiàn)攒庵。

aspectj不是spring的一部分嘴纺,和spring一起使用完成aop操作。

aop需要的jar:

xml ? aop約束引入:

注解aop約束引入:

還要添加一個context約束浓冒。

ps:約束可以在spring docs中找到栽渴,頁面名稱為:XML Schema-based conf.html

aspectj基于xml配置aop:

使用表達式配置切人點,常用的表達式:

execution(<訪問修飾符>?<返回類型><方法名>(<參數(shù)><異常>))

(1)表示所有修飾符 在類Book中的add方法都增強

(2)表示所有修飾符 在類Book中的所有方法都增強

(3)所有修飾符的所有類的所有方法都增強

(4)所有修飾符 所有類中以sava開頭的方法都增強

注意:*后面要有空格

實例:

Book是被增強對象稳懒,MyBook是要增強的功能闲擦,所以配置的切入點是Book中的方法;

切面指的是把增強用到切入點的過程,可以認(rèn)為是<aop:aspect>節(jié)點墅冷,把myBook作為一個切面纯路;

<aop:before>表示用前置增強,增強方法是mybooke中的before1方法俺榆,要用到切入點pointcut1感昼;

環(huán)繞通知需要參數(shù)ProceedingJoinPoint:

aspectj基于注解配置aop:

開啟aop操作:

Book類中的所有方法都增強,這里是前置增強罐脊。


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 時間:2017-05-02 23:09

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末定嗓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子萍桌,更是在濱河造成了極大的恐慌宵溅,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件上炎,死亡現(xiàn)場離奇詭異恃逻,居然都是意外死亡,警方通過查閱死者的電腦和手機藕施,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門寇损,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人裳食,你說我怎么就攤上這事矛市。” “怎么了诲祸?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵浊吏,是天一觀的道長。 經(jīng)常有香客問我救氯,道長找田,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任着憨,我火速辦了婚禮墩衙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘甲抖。我一直安慰自己底桂,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布惧眠。 她就那樣靜靜地躺著籽懦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪氛魁。 梳的紋絲不亂的頭發(fā)上暮顺,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天厅篓,我揣著相機與錄音,去河邊找鬼捶码。 笑死羽氮,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的惫恼。 我是一名探鬼主播档押,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼祈纯!你這毒婦竟也來了令宿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤腕窥,失蹤者是張志新(化名)和其女友劉穎粒没,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體簇爆,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡癞松,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了入蛆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片响蓉。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖哨毁,靈堂內(nèi)的尸體忽然破棺而出厕妖,到底是詐尸還是另有隱情,我是刑警寧澤挑庶,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站软能,受9級特大地震影響迎捺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜查排,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一凳枝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧跋核,春花似錦岖瑰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至刻伊,卻和暖如春露戒,著一層夾襖步出監(jiān)牢的瞬間椒功,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工智什, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留动漾,地道東北人。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓荠锭,卻偏偏與公主長得像旱眯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子证九,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,627評論 2 350

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

  • **** AOP 面向切面編程 底層原理 代理I静颉!甫贯! 今天AOP課程1吼鳞、 Spring 傳統(tǒng) AOP2、 Spri...
    luweicheng24閱讀 1,359評論 0 1
  • AOP 術(shù)語 Join point(連接點):類里面可以被增強的方法叫搁,這些方法稱為連接點 Point cut(切入...
    JIN520閱讀 221評論 0 3
  • 因為工作需求赔桌,自己去了解一下aop并做下的記錄,當(dāng)然大部分都是參考他人博客以及官方文檔渴逻。 目錄 [關(guān)于 AOP](...
    forip閱讀 2,273評論 1 20
  • 基本知識 其實, 接觸了這么久的 AOP, 我感覺, AOP 給人難以理解的一個關(guān)鍵點是它的概念比較多, 而且坑爹...
    永順閱讀 8,147評論 5 114
  • Bean注解配置光速入門 步驟一: 創(chuàng)建 web 項目,引入 Spring 的開發(fā)包在 Spring 的注解的...
    日落perfe閱讀 10,148評論 1 8