Spring的aop操作

Spring的aop操作

aop:
面向切面的編程,擴展功能不修改源代碼。

操作術語:
連接點:在類裏面那些方法可以被增強,這些方法稱爲連接點

1-切入點:在類裏面可以有很多的方法被增強,比如實際操作中,只是增強了類裏面的add方法和update方法實際增強的方法稱爲切入點。

2-通知/增強:增強的邏輯,稱爲增強。例如擴展日誌的功能,這個日誌功能就成爲增強

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

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

異常通知:方法出現異常

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

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

3-切面:吧曾倩應用到具體方法上面,過程稱爲切面。

舉例:把增強應用到切入點的過程

spring的aop操作:
1-在spring裏面進行aop操作,使用aspectj實現

(1)aspectj不是spring一部分和spring一起使用進行aop操作
(2)spring2.0以後新增了對aspectj支持

2-使用aspectj實現aop 的兩種方式
 (1)基於aspectj的xml配置
 (2)基於aspectj的註解方式

一:aop操作:(xml核心的配置方式)

1-除了導入基本的jar包以外還需要導入aop相關的jar包

2-xml核心的配置文件,導入aop約束

***使用表達式配置切入點:
1-切入點:實際增強的方法

2-常用的表達式
 execution(<訪問修飾符>?<返回類型><方法名>(<參數>)<異常>)
(1)execution(* com.hkd.Book.add(..))
 (2) execution(* com.hkd.Book.*(..))
 (3) execution(* *.*(..))
 (4)匹配所有save開頭的方法 execution(* sava*(..))


二:基於aspectj的註解aop:

1-使用註解方式實現aop操作,

第一步,創建對象

第二步,zai spring 核心配置文件中開啓aop操作

第三步,在增強類上面使用註解完成aop

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章