1. 程式人生 > >返回通知、異常通知、環繞通知

返回通知、異常通知、環繞通知

pro 動態 正常 消失 ret point 動態代理 throw com

返回通知:是在方法正常結束之後執行的通知,可以訪問方法返回值。

使用@AfterReturning註釋,我們還可以在註釋裏面指定一個返回值的名字,然後再方法中使用它。

技術分享圖片

當方法出異常,就不會有這個通知了

技術分享圖片

異常通知:是在方法出現異常後執行的通知,可以訪問異常對象

使用@AfterThrowing註釋,我們還可以在註釋裏指定一個異常對象的名字,然後再方法裏使用

技術分享圖片

技術分享圖片

這裏我們可以用異常方法指定特定異常,作出特定的通知

技術分享圖片

環繞通知:

使用@Around註釋,功能最強,卻不常用,環繞通知需要攜帶ProceedingJoinPoint類型的參數。環繞通知類似於動態代理全過程,ProceedingJoinPoint類型參數可以決定是否執行目標方法,且環繞通知必須要有返回值,返回值即為目標方法的返回值,

技術分享圖片

技術分享圖片

//前置方法消失了,留個坑,今後去找原因

我們如果想執行目標方法,就該這樣寫:

技術分享圖片

很明顯,環繞通知包含了所有通知類型

返回通知、異常通知、環繞通知