Spring核心二 AOP XML配置實現

2021-08-21 05:34:12 字數 1698 閱讀 9042

aop概念:

面向切面(方面、過程)程式設計,擴充套件程式不用修改源**,而是做配置

aop是個橫向採取機制,取代了傳統的縱向機制

傳統方式和縱向抽取機制

aop的橫向抽取機制原理:動態**

aop專業術語:

joinpoint(連線點):

類裡可以被增強的方法,這些方法被整成為連線點

pointcut(切入點(重點)):類裡有很多方法都可以被增強,但實際上真正被增強了的方法被稱為切入點,比如userdao類中有很多方法,但只增強了新增和刪除方法,那麼這兩個方法被稱為切入點

advice(通知/增強(重點))

:要增強的功能或邏輯,被稱為增強

通知分為:

前置通知:在方法執行之前執行

後置通知:在方法執行之後執行

異常通知:發生異常時執行

最終通知:在後置通知之後執行

環繞通知:在方法執行之前和之後都執行

aspect(切面(重點))

:把增強,應用到具體方面上,這個過程被稱為切面

還有引介、目標物件、織入、**。

在spring中要使用aop,要用aspectj框架實現

aspectj不是spring的一部分,但要配合使用才能用spring的aop

spring2.0加強了對aspectj的相關操作

要使用spring的aop操作必須先依賴aop的相關jar

aop的配置:

匯入aop約束

表示式的形式配置切入點(要增強的方法):

(1)增強book類中的add方法,*:表示所有修飾範圍,public、private等  ..:如果裡面有引數也包含

還有種方式:execution(* abc*(..)) :表示所有方法裡abc開頭的方法會被增強

使用aspectj做aop在xml中的配置:

先在bean中例項化配置被增強類和增強類

然後配置切入點:用表示式的方式表示配置的是book類中的add方法,並起別名

然後配置切面:引用上文已例項化的的增強類,在切面裡設定aop的通知型別(前置、後置、最終等),最後配置要被增強的方法,即引用pointcut1

單獨演示下環繞執行(比較特別)

xml中的配置;

spring核心基礎

核心概念介紹 ioc inverse of control,控制反轉。也就是把物件的建立交給spring框架來完成。di dependency injection,依賴注入,spring框架在建立bean時,動態的將依賴物件注入到bean 元件中。aop 面向切面程式設計,也就是在不修改目標物件原始...

spring 核心架構

spring bean 的生命週期 建立 使用 銷毀 1.1.例項化bean,設定bean的屬性 依賴注入 把這個bean依賴的bean也建立出來,進行注入 1.2如果bean實現了aware方法,spring會將容器傳遞給bean,spring容器管理下的bean會長期存活 2.1建立完bean之...

spring核心概念

ioc inverse of control,控制反轉。物件的建立權由程式控制反轉為spring框架控制。aop aspect oriented programming,面向切面程式設計。在不修改目標物件的原始碼情況下,增加ioc容器中bean的功能。di dependency injection,...