Spring事物攔截器學習筆記
Spring事物攔截器,按照通知方式分為[前置通知(Before advice),返回后通知(After returning advice)
,拋出后通知(After throwing advice),后通知(After (finally) advice),環繞通知(Around Advice)]
配置方式分@AspectJ,XML,網上比較多的是Spring1.1或xml+@AspectJ方式配置,例子使用XML方式配置
1.定義切面類接口,切面類實現這個接口。聲明(如果被代理的目標對象實現了至少一個接口,則會使用JDK動態代理。所有該目標類型實現的接口都將被代理。若該目標對象沒有實現任何接口,則創建一個CGLIB代理)























2.定義前置通知攔截處理類








3.定義攔截器配置文件














4.測試一下前置通知












5.定義返回后通知攔截處理類











6.定義攔截器配置文件









7.測試一下返回后通知













8.定義環繞通知攔截處理類(環繞通知在一個方法執行之前和之后執行。 它使得通知有機會既在一個方法執行之前又在執行之后運行。并且,它可以決定這個方法在什么時候執行,如何執行,甚至是否執行。 環繞通知經常在在某線程安全的環境下,你需要在一個方法執行之前和之后共享某種狀態的時候使用。 請盡量使用最簡單的滿足你需求的通知。(比如如果前置通知(before advice)也可以適用的情況下不要使用環繞通知))
通知方法的第一個參數的類型必須是 ProceedingJoinPoint
類型。在通知的主體中,調用 ProceedingJoinPoint
的proceed()
方法來執行真正的方法。 proceed
方法也可能會被調用并且傳入一個 Object[]
對象 - 該數組將作為方法執行時候的參數。
















9.定義攔截器配置文件









10.測試一下環繞通知















posted on 2009-02-10 23:07 Pitey 閱讀(1689) 評論(0) 編輯 收藏 所屬分類: Spring