Spring事物攔截器,按照通知方式分為[前置通知(Before advice),返回后通知(After returning advice) ,拋出后通知(After throwing advice),后通知(After (finally) advice),環(huán)繞通知(Around Advice)] 配置方式分@AspectJ,XML,網上比較多的是Spring1.1或xml+@AspectJ方式配置,例子使用XML方式配置
1.定義切面類接口,切面類實現這個接口。聲明(如果被代理的目標對象實現了至少一個接口,則會使用JDK動態(tài)代理。所有該目標類型實現的接口都將被代理。若該目標對象沒有實現任何接口,則創(chuàng)建一個CGLIB代理)
2.定義前置通知攔截處理類
3.定義攔截器配置文件
4.測試一下前置通知
5.定義返回后通知攔截處理類
6.定義攔截器配置文件
7.測試一下返回后通知
8.定義環(huán)繞通知攔截處理類(環(huán)繞通知在一個方法執(zhí)行之前和之后執(zhí)行。 它使得通知有機會既在一個方法執(zhí)行之前又在執(zhí)行之后運行。并且,它可以決定這個方法在什么時候執(zhí)行,如何執(zhí)行,甚至是否執(zhí)行。 環(huán)繞通知經常在在某線程安全的環(huán)境下,你需要在一個方法執(zhí)行之前和之后共享某種狀態(tài)的時候使用。 請盡量使用最簡單的滿足你需求的通知。(比如如果前置通知(before advice)也可以適用的情況下不要使用環(huán)繞通知)) 通知方法的第一個參數的類型必須是 ProceedingJoinPoint 類型。在通知的主體中,調用 ProceedingJoinPoint的proceed() 方法來執(zhí)行真正的方法。 proceed 方法也可能會被調用并且傳入一個 Object[] 對象 - 該數組將作為方法執(zhí)行時候的參數。
ProceedingJoinPoint
proceed()
proceed
Object[]
9.定義攔截器配置文件
10.測試一下環(huán)繞通知
posted on 2009-02-10 23:07 Pitey 閱讀(1684) 評論(0) 編輯 收藏 所屬分類: Spring
Powered by: BlogJava Copyright © Pitey