7 後置通知 異常通知 環繞通知(基於實現介面)

2021-10-04 10:52:49 字數 1418 閱讀 6578

後置通知

步驟同前置通知(通知類繼承後置通知類)

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