返回通知:是在方法正常結束之後執行的通知,可以訪問方法返回值。
使用@afterreturning注釋,我們還可以在注釋裡面指定乙個返回值的名字,然後再方法中使用它。
當方法出異常,就不會有這個通知了
異常通知:是在方法出現異常後執行的通知,可以訪問異常物件
使用@afterthrowing注釋,我們還可以在注釋裡指定乙個異常物件的名字,然後再方法裡使用
這裡我們可以用異常方法指定特定異常,作出特定的通知
環繞通知:
使用@around注釋,功能最強,卻不常用,環繞通知需要攜帶proceedingjoinpoint型別的引數。環繞通知類似於動態**全過程,proceedingjoinpoint型別引數可以決定是否執行目標方法,且環繞通知必須要有返回值,返回值即為目標方法的返回值,
//前置方法消失了,留個坑,今後去找原因
我們如果想執行目標方法,就該這樣寫:
很明顯,環繞通知包含了所有通知型別
7 後置通知 異常通知 環繞通知(基於實現介面)
後置通知 步驟同前置通知 通知類繼承後置通知類 public class logafter implements afterreturningadvice 引數 returnvalue 返回值 method 呼叫的方法 args 方法的引數 target 目標物件 發生異常時才觸發 異常通知的實現類...
環繞通知使用
檔案結構 配置檔案 logger類 spring框架為我們提供了乙個介面 proceedingjoinpoint。該介面有乙個方法proceed 此方法就相當於明確呼叫切入點方法。該介面可以作為環繞通知的方法引數,在程式執行時,spring框架會為我們提供該介面的實現類供我們使用。spring中的環...
Spring 的環繞通知
spring 的環繞通知和前置通知,後置通知有著很大的區別,主要有兩個重要的區別 1 目標方法的呼叫由環繞通知決定,即你可以決定是否呼叫目標方法,而前置和後置通知是不能決定的,他們只是在方法的呼叫前後執行通知而已,即目標方法肯定是要執行的。2 環繞通知可以控制返回物件,即你可以返回乙個與目標物件完全...