AOP學習之五種通知

2021-08-21 10:31:05 字數 965 閱讀 9886

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...