Spring的aop開發(四)通知型別

2021-09-16 12:57:03 字數 784 閱讀 8612

引用文章

(1)before:在目標方法被呼叫之前做增強處理,@before只需要指定切入點表示式即可

(2)afterreturning:在目標方法正常完成後做增強,@afterreturning除了指定切入點表示式後,還可以指定乙個返回值形參名returning,代表目標方法的返回值

(3)afterthrowing:主要用來處理程式中未處理的異常,@afterthrowing除了指定切入點表示式後,還可以指定乙個throwing的返回值形參名,可以通過該形參名

來訪問目標方法中所丟擲的異常物件

(4)after:在目標方法完成之後做增強,無論目標方法時候成功完成。@after可以指定乙個切入點表示式

(5)around:環繞通知,在目標方法完成前後做增強處理,環繞通知是最重要的通知型別,像事務,日誌等都是環繞通知,注意程式設計中核心是乙個proceedingjoinpoint會阻止目標方法進行

做環繞通知的時候,呼叫proceedingjoinpoint的proceed()方法才會執行目標方法。

6.通知執行的優先順序

進入目標方法時,先織入around,再織入before,退出目標方法時,先織入around,再織入afterreturning,最後才織入after。

注意:spring aop的環繞通知會影響到afterthrowing通知的執行,不要同時使用!同時使用也沒啥意義。

spring中AOP的四種常用通知

spring中aop的四種常用通知,分別是 前置通知 在切入點方法執行前執行的方法 後置通知 在切入點方法執行後執行的方法 異常通知 在切入點方法動態 中發生錯誤時執行的方法 最終通知 在切入點方法動態 結束後執行的方法 演示 首先是建立乙個userservice的介面和實現類 public int...

Spring框架AOP的環繞通知

環繞通知 問題 當配置了環繞通知之後,切入點方法沒有執行,而通知方法執行了。分析 通過對比動態 中的環繞通知 發現動態 的環繞通知有明確的切入點方法呼叫,而我們的 中沒有。解決 spring框架為我們提供了乙個介面 proceedjoinpoint。該介面有乙個方法proceed 此方法就相當於明確...

Spring 入門學習手札(四)通過建構函式注入

通過建構函式注入 一 建構函式入參是簡單型別,如int float string等 public cat string nickname 則使用建構函式注入的xml可以這樣寫 二 建構函式入參是其他物件 bean public cat toy itstoy 則需要使用ref欄位 三 如果建構函式有多...