Spring中AOP學習 應用(一)

2021-09-25 02:44:17 字數 1042 閱讀 6778

動態**:指在程式執行期間動態的將某段**切入到指定方法指定位置進行執行的程式設計方式。

1.匯入aop模組:spring aop:(spring-aspects)

2.定義乙個業務邏輯類(mathcalculator);在業務執行的時候將日誌執行列印(方法之前、方法執行結束、方法出現異常,***)

3.定義乙個切面類(logaspects):切面類裡面的方法要動態感知mathcalculator.div執行到**然後動態執行

通知方法:

前置通知(@before):logstart: 在目標方法(div)執行之前執行

後置通知(@after):logend:在目標方法(div)執行結束以後 

返回通知(@afterreturning):logreturn:在目標方法(div)正常返回之後執行(無論方法正常結束還是異常都                                  呼叫)

異常通知(@afterthrowing):logexception:在目標方法(div)出現異常之後

環繞通知(@around):動態**,手動推進目標方法執行(joinpoint.procced)

4.給切面類的目標方法標註何時何地地執行(通知註解)

抽取公共的切入點表示式:1.本類引用;2.其它的切面引用

@pointcut("execution(public int com.atguigu.aop.mathcalculator.*(..))")

5.將切面類和業務邏輯類(目標方法所在類)都加入到容器中;

6.告訴spring哪個類是切面類(給切面類加乙個註解:@aspect)

7.給配置類中加@enableaspectjautoproxy(開啟基於註解的aop模式)

關鍵的三步:

1)、將業務邏輯元件和切面類都加入到容器中,告訴spring哪個是切面類(@aspect)

2 ) 、將切面類上的每個通知方法上標註通知註解,告訴spring何時何地執行(切入點表示式)

3 ) 、 開啟基於註解的aop模式;@enableaspectjautoproxy

Spring中IOC和AOP學習

spring中最重要的就是ioc和aop ioc也稱控制反轉,其實是和依賴注入的含義是一樣的 通常是以下兩種 1.設值傳入 set注入 一般是在spring配置的xml中書寫 注意一般是設定類的property的name和ref name springaction class com.bless.s...

Spring學習筆記 AOP

1 匯入aop模組 spring aop spring aspects 2 定義乙個業務邏輯 3 定義乙個日誌切面類 通知方法 前置通知 before 在目標方法執行之前執行 後置通知 after 在目標方法執行結束後執行 返回通知 afterrerurning 在目標方法正常返回之後執行 異常通知...

Spring學習 aop學習記錄

spring aop 面向方面程式設計 框架,用於在模組化方面的橫切關注點。簡單得說,它只是乙個 攔截一些過程,例如,當乙個方法執行,spring aop 可以劫持乙個執行的方法,在方法執行之前或之後新增額外的功能。在spring aop中,有 4 種型別通知 advices 的支援 hijackb...