後置通知
步驟同前置通知(通知類繼承後置通知類)
public
class
logafter
implements
afterreturningadvice
}
引數:
returnvalue:返回值
method:呼叫的方法
args:方法的引數
target:目標物件
發生異常時才觸發
異常通知的實現類必須實現以下方法之一:
void afterthrowing(method,args,target,throwablesubclass)
void afterthrowing(throwablesubclass)
public
class
logexception
implements
throwsadvice
}
在目標方法的前後、異常發生時、最終等各個地方都可以進行的通知,是最強大的通知。可以獲得目標方法的全部控制權(目標方法是否執行、執行之前、執行之後、引數、返回值等。
通知類:
public
class
logaround
implements
methodinterceptor
catch
(exception e)
return result;
}}
配置:
"logaround"
class
="com.lianqiao.aop.logaround"
>
<
/bean>
<
!-- 配置切入點 --
>
(public
* com.lianqiao.service.studentserviceimpl.
deletestudent(.
.)) or execution
(public
void com.lianqiao.service.studentserviceimpl.
addstudent
(com.lianqiao.entity.student)
)" id="pointcut3"/
>
<
!-- advisor:相當於連線切入點和切面的線 --
>
"logaround" pointcut-ref=
"pointcut3"
/>
<
/aop:config>
返回通知 異常通知 環繞通知
返回通知 是在方法正常結束之後執行的通知,可以訪問方法返回值。使用 afterreturning注釋,我們還可以在注釋裡面指定乙個返回值的名字,然後再方法中使用它。當方法出異常,就不會有這個通知了 異常通知 是在方法出現異常後執行的通知,可以訪問異常物件 使用 afterthrowing注釋,我們還...
環繞通知使用
檔案結構 配置檔案 logger類 spring框架為我們提供了乙個介面 proceedingjoinpoint。該介面有乙個方法proceed 此方法就相當於明確呼叫切入點方法。該介面可以作為環繞通知的方法引數,在程式執行時,spring框架會為我們提供該介面的實現類供我們使用。spring中的環...
Spring 後置通知
spring 的後置通知雖然如其名字那樣,通知在方法呼叫之後織入。但準確的說,通知是在方法返回值之後和方法返回到呼叫地點之前被織入。我們可以通過spring 自帶的afterreturningadvice 介面輕鬆的實現方法的織入。afterreturningadvice 介面提供了afterret...