spring_AOP
一、AOP
1.動態代理
a.動態代理實現方式:
jdk動態代理 基於接口實現代理
cglib動態代理 基於子類的方式實現代理
javassist動態代理 基於子類的方式實現代理
b.jdk的動態代理


2.SpringAOP
a.切面
將横切關注點模塊化後形成切面.
b.通知
前置通知(@Before): 前置通知: 在方法執行之前執行.
JoinPoint:連接點物件 包含了連接點相關信息:方法名 方法的參數等....

後置通知(@After): 後置通知: 在方法執行後執行,不管方法有没有抛出异常.
後置通知反問不到方法的返回值

返回通知(@AfterReturning): 返回通知: 方法正常執行後,返回結果以後執行的.
返回通知就能訪問到方法的返回值.

異常通知(@AfterThrowing): 異常通知:方法執行過程中拋出異常後執行.
可以指定抛出特定的異常再執行異常通知. 在形参的位置指定異常的類型即可.

環繞通知(@Around):類似於動態代理的整個過程

3.基於註解方式配置AOP

4.基於xml方式配置AOP

5.切面的優先級
a.基於注解的方式,可以使用@Order(值)來指定切面的優先級.值越小優先級越高

b.基於xml的方式,可以使用order属性来指定切面的優先級.

6.重用切入點表達式


浙公网安备 33010602011771号