spring aop通知(advice)分成五類:
前置通知before advice:在連線點前面執行,前置通知不會影響連線點的執行,除非此處丟擲異常。
正常返回通知after returning advice:在連線點正常執行完成後執行,如果連線點丟擲異常,則不會執行。
異常返回通知after throwing advice:在連線點丟擲異常後執行。
後置通知after (finally) advice:在連線點執行完成後執行,不管是正常執行完成,還是丟擲異常,都會執行返回通知中的內容。
環繞通知around advice:環繞通知圍繞在連線點前後,比如乙個方法呼叫的前後。這是最強大的通知型別,能在方法呼叫前後自定義一些操作。環繞通知還需要負責決定是繼續處理join point(呼叫proceedingjoinpoint的proceed方法)還是中斷執行。
準備工作:參考p01-01
建立服務
建立aop
建立測試用例
@runwith(springrunner.class)
@springboottest
public
class
@test
public
void
test2
() @test
public
void
test3
() @test
public
void
test4
()}
使用註解@order
參照文章
結論:spring aop就是乙個同心圓,要執行的方法為圓心,最外層的order最小,環繞、前置通知先執行,後置、返回通知後執行。
AOP的五種通知
切入點表示式語法 修飾符 返回型別 包名.類名.方法名 形式引數 常見寫法 execution public 所有的public方法 execution set 所有set開頭的方法 execution com.xyz.service.accountservice.accountservice類中的...
五種通知方式來實現aop
1.前置通知,在業務方法之前執行 before advice 2.後置通知,在業務防止後執行 3.環繞通知,同時在業務方法的前後執行 around advice 4.最終通知,可以拿到業務的返回值 5.異常通知,可以捕獲業務方法中的異常物件 after throwing advice 加粗樣式 注意...
AOP 學習, 丟擲通知
丟擲通知 org.springframework.aop.throwsadvice 丟擲通知跟後置通知一樣是在連線點隻後執行的,不過丟擲通知只在方法丟擲乙個異常時才執行,該通知對程式執行不能做任何改變,能做的只是改變丟擲異常的型別 public class errorclass public voi...