91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring?AOP操作的相關術語及環境怎么配置

發布時間:2022-05-30 13:39:07 來源:億速云 閱讀:131 作者:iii 欄目:開發技術

這篇“Spring AOP操作的相關術語及環境怎么配置”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Spring AOP操作的相關術語及環境怎么配置”文章吧。

一、常用術語

在后續使用 AOP 中會用到幾個專業術語:連接點、切入點、通知(增強)、切面。

分別是什么意思?

來看這里有個 User 類,里面有增刪改查 4 個方法。

public class User {
    public void add() {}
    public void delete() {}
    public void update() {}
    public void select() {}
}

以此輔助說明一下上述 4 個術語:

連接點:類中可以被增強的方法,就叫做連接點。比如上面的 4 個方法都可以被增強,都可以稱為連接點。 

切入點:實際被真正增強的方法,稱為切入點。比如上面的 4 個方法,只增強了 add() 方法,這個就是切入點。 

通知(增強):實際上增強的邏輯部分,稱為通知。比如我給方法增加了日志的輸出處理,那這部分邏輯就稱為通知或者增強。 

切面:把通知(增強)應用到切入點的過程,就叫切面,指的是一個動作。 

其中,關于通知(增強),有 5 種類型:

  • 前置通知:被增強的方法之前執行。

  • 后置通知:被增強的方法之后執行。

  • 環繞通知:被增強的方法前后都執行。

  • 異常通知:被增強的方法出現異常時執行。

  • 最終通知:不管被增強的方法有沒有異常都會執行。

二、準備工作

Spring 框架一般基于 AspectJ 實現 AOP 操作。

AspectJ 是一個獨立的框架,不是 Spring 的組成部分。為了便捷,把二者結合起來使用。

那么基于 AspectJ 實現 AOP,可以有 2 種方式:

  • 基于 xml 配置文件

  • 基于注解方式。

一般為了便捷,使用注解方式。

1. 引入依賴

需要 jar 包如下:

Spring?AOP操作的相關術語及環境怎么配置

2. 切入點表達式

作用是:知道要對哪個類里面的哪個方法進行增強。

結構:

execution([權限修飾符][返回類型][類全路徑][方法名稱]([參數列表]))

比如,我有個類 User 在 package com.pingguo.spring5.dao;里。

(1)示例1

我要增強這個類下面的 add() 方法,表達式這么寫:

execution(* com.pingguo.spring5.User.add(..))

  • *號:代表所有類型的修飾符。

  • 返回類型:可以不寫

  • 類全路徑:com.pingguo.spring5

  • 方法:前面加 .add()

  • 參數:括號里的 .. 表示方法中的參數

(2)示例2

我要增強這個類下面的所有方法,表達式這么寫:

execution(* com.pingguo.spring5.User.*(..))

這里就是把方法用 * 號替換掉。

(3)示例3我要增強包com.pingguo.spring5下的所有類的所有方法:

execution(* com.pingguo.spring5.*.*(..))

仍然是用*替換對應的地方。

以上就是關于“Spring AOP操作的相關術語及環境怎么配置”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潼南县| 花垣县| 大竹县| 恭城| 汤原县| 巢湖市| 合肥市| 东乡县| 页游| 伊通| 宁阳县| 卓资县| 和静县| 鹤庆县| 井冈山市| 潞城市| 宣汉县| 牡丹江市| 昌宁县| 宁都县| 克拉玛依市| 介休市| 神农架林区| 阜康市| 盐城市| 武穴市| 西乌| 巴彦淖尔市| 郑州市| 眉山市| 红原县| 文山县| 西安市| 巩留县| 贵阳市| 衡山县| 伊川县| 梨树县| 宁夏| 承德县| 河北省|