SpringAOP型別說明及環繞通知的特殊說明

2021-09-29 14:56:51 字數 1882 閱讀 5331

springmvc學習記錄文章目錄:

1、程式的耦合和解耦思路

2、使用springioc解決程式耦合的前期準備

4、bean標籤及其例項化的3種方式

5、bean的作用範圍和生命週期

6、spring的依賴注入

7、基於註解的ioc環境搭建

8、基於註解的ioc-常用註解(spring2.5規範)

9、spring常用註解-新(spring2.5規範以上)

10、spring整合junit單元測試

11、aop的相關概念

12、spring中aop的術語

13、springaop常用標籤解釋說明

14、springaop中切入點表示式說明

15、springaop型別說明及環繞通知的特殊說明

16、基於xml的springaop配置

17、springaop常用註解

18、基於註解的springaop配置

19、spring中的jdbctemplate

20、spring中的事務控制

<

!-- 配置通知的型別

aop:before:

用於配置前置通知。前置通知的執行時間點:切入點方法執行之前執行

aop:after-returning:

用於配置後置通知。後置通知的執行時間點:切入點方法正常執行之後。它和異常通知只能有乙個執行

aop:after-throwing

用於配置異常通知。異常通知的執行時間點:切入點方法執行產生異常後執行。它和後置通知只能執行乙個。

aop:after

用於配置最終通知。最終通知的執行時間點:無論切入點方法執行時是否有異常,它都會在其後面執行。

aop:around

用於配置環繞通知。他和前面四個不一樣,他不是用於指定通知方法何時執行的。

-->

"beforeprintlog" pointcut-ref=

"pt1"

/>

"afterreturningprintlog" pointcut-ref=

"pt1"

/>

"afterthrowingprintlog" pointcut-ref=

"pt1"

/>

"afterprintlog" pointcut-ref=

"pt1"

/>

"aroundpringlog" pointcut-ref=

"pt1"

/>

/**

* 環繞通知

* 它是spring框架為我們提供的一種可以在**中手動控制增強部分什麼時候執行的方式。

* 問題:

* 當我們配置了環繞通知之後,增強的**執行了,業務核心方法沒有執行。

* 分析:

* 通過動態**我們知道在invoke方法中,有明確呼叫業務核心方法:method.invoke()。

* 我們配置的環繞通知中,沒有明確呼叫業務核心方法。

* 解決:

* spring框架為我們提供了乙個介面:proceedingjoinpoint,它可以作為環繞通知的方法引數

* 在環繞通知執行時,spring框架會為我們提供該介面的實現類物件,我們直接使用就行。

* 該介面中有乙個方法proceed(),此方法就相當於method.invoke()

*/public

void

aroundpringlog

(proceedingjoinpoint pjp)

catch

(throwable e)

finally

}

Spring AOP 常用術語說明

就是你想要的功能,也就是上面說的 安全,事物,日誌等。你給先定義好把,然後在想用的地方用一下。這個更好解釋了,就是spring允許你使用通知的地方,那可真就多了,基本每個方法的前,後 兩者都有也行 或丟擲異常時都可以是連線點,spring只支援方法連線點.其他如aspectj還可以讓你在構造器或屬性...

Spring AOP 建議型別

spring aop 包括如下型別的建議 around advice 是最普通的一種建議。因為spring aop,也像 aspectj一樣,提供了全部範圍的建議型別。我們推薦你用最少能力的建議型別。比如,你只是想利用方法的返回值更新乙個快取,此時你用returning advice 會比aroun...

spring aop 配置使用說明

標籤 profiler class profiler 這是你要進行對切面攔截處理的另乙個定義的類 profiler aopaftermethod expression execution fooservice.定義的切面 即你要進行攔截的類 aopaftermethod method afterme...