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)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容