在springaop中有五種通知,環繞通知是最為強大的通知。它能夠讓你編寫的邏輯將被通知的目標方法完全包裝起來。實際上就像在乙個通知方法中同時編寫前置通知和後置通知。
本片文章具體講解環繞通知的使用。
使用環繞通知定義切面:
@aspect
public
class audiencearound
@around("performance()")
public
void
watchperformance(proceedingjoinpoint joinpoint) catch (throwable throwable)
}}
可以看到在上面的**中,定義通知的時候在通知方法中新增了入參:proceedingjoinpoint。在建立環繞通知的時候,這個引數是必須寫的。因為在需要在通知中使用proceedingjoinpoint.proceed()方法呼叫被通知的方法。
另外,如果忘記呼叫proceed()方法,那麼通知實際上會阻塞對被通知方法的呼叫。
首先去掉上面類的所有註解:這裡為了區別就重新建立乙個類
public
class audiencearoundxml catch (throwable throwable)
}}
配置:
name="audiencearoundxml"
class="com.wqh.concert.audiencearoundxml"/>
ref="audiencearoundxml">
id="performance"
expression="execution(* com.wqh.concert.performance.perform(..))"/>
method="watchperformance"
pointcut-ref="performance"/>
aop:aspect>
aop:config>
SpringAOP型別說明及環繞通知的特殊說明
springmvc學習記錄文章目錄 1 程式的耦合和解耦思路 2 使用springioc解決程式耦合的前期準備 4 bean標籤及其例項化的3種方式 5 bean的作用範圍和生命週期 6 spring的依賴注入 7 基於註解的ioc環境搭建 8 基於註解的ioc 常用註解 spring2.5規範 9...
環繞通知使用
檔案結構 配置檔案 logger類 spring框架為我們提供了乙個介面 proceedingjoinpoint。該介面有乙個方法proceed 此方法就相當於明確呼叫切入點方法。該介面可以作為環繞通知的方法引數,在程式執行時,spring框架會為我們提供該介面的實現類供我們使用。spring中的環...
返回通知 異常通知 環繞通知
返回通知 是在方法正常結束之後執行的通知,可以訪問方法返回值。使用 afterreturning注釋,我們還可以在注釋裡面指定乙個返回值的名字,然後再方法中使用它。當方法出異常,就不會有這個通知了 異常通知 是在方法出現異常後執行的通知,可以訪問異常物件 使用 afterthrowing注釋,我們還...