戴著假髮的程式設計師出品 抖音id:戴著假髮的程式設計師歡迎關注
所謂環繞通知就是在目標方法的前後可以通知增強,正因為這樣的情況,所以環繞通知可以阻止方法的執行,或者修改方法的返回值。
環繞通知也可以傳入乙個引數proceedingjoinpoint,proceedingjoinpoint 是joinpoint的乙個子類,增強了一些方法,我們可以通過proceedingjoinpoint 的proceed()呼叫被增強方法。
看案例:
修改aspect類,在其中增加乙個環繞通知:
1測試:/**2
* @author
戴著假髮的程式設計師3*
4* @description5*/
6@component
7@aspect
8public
class
dkaspect
1112
/**13
* 環繞通知,傳入引數proceedingjoinpoint
14*
*/15 @around("pointcut1()")
16public
object around(proceedingjoinpoint joinpoint) catch
(throwable throwable)
28 system.out.println("--環繞通知結束--");
29return
retval;30}
31 }
注意,如果目標方法出現異常程式中斷,環繞通知就會只執行前半部分,後半部分就會執行。
環繞通知使用
檔案結構 配置檔案 logger類 spring框架為我們提供了乙個介面 proceedingjoinpoint。該介面有乙個方法proceed 此方法就相當於明確呼叫切入點方法。該介面可以作為環繞通知的方法引數,在程式執行時,spring框架會為我們提供該介面的實現類供我們使用。spring中的環...
返回通知 異常通知 環繞通知
返回通知 是在方法正常結束之後執行的通知,可以訪問方法返回值。使用 afterreturning注釋,我們還可以在注釋裡面指定乙個返回值的名字,然後再方法中使用它。當方法出異常,就不會有這個通知了 異常通知 是在方法出現異常後執行的通知,可以訪問異常物件 使用 afterthrowing注釋,我們還...
Spring 的環繞通知
spring 的環繞通知和前置通知,後置通知有著很大的區別,主要有兩個重要的區別 1 目標方法的呼叫由環繞通知決定,即你可以決定是否呼叫目標方法,而前置和後置通知是不能決定的,他們只是在方法的呼叫前後執行通知而已,即目標方法肯定是要執行的。2 環繞通知可以控制返回物件,即你可以返回乙個與目標物件完全...