1. 程式人生 > >Spring的Aop理解

Spring的Aop理解

spec gin lan 參考 事務處理 com ref 根據 表達

主要作用:解決代碼復用,避免重復性編寫代碼。

比較典型的場景:日誌打印,權限驗證,事務處理

參考網址為:http://moon-walker.iteye.com/blog/2381532

spring aop相關術語

切面:用於承載 通知+切點的類。把where,when and how(在哪執行,什麽時候執行,執行什麽)執行整合在一起

切點:提取出需要進行統一處理的方法,是連接點的子集。解決where的問題,主要通過切點表達式進行過濾,如典型的配置方式execution(* com.xxx.xxx.*(..))

通知:解決when(什麽時候執行)的問題,根據自己的業務場景選擇使用:

前置通知(before):在目標方法執行前,首先調用該方法

後置通知(after):在目標方法執行完成後,再調用該方法。不管是目標方法執行成功,還是拋出異常,都會調用。

返回通知(afterreturning):在目標方法執行成功後,再調用該方法。

異常通知(afterThrowing):在目標方法執行拋出異常後,調用該方法

環繞通知(around):對目標方法進行包裹,理論上可以在環繞通知裏,實現上述4種通知。

引入

織入

實現方式:

1.基於註解的

2.基於xml配置的

3.註入AspectJ切面

Spring的Aop理解