一 .概述
在上一節之中,我們看到了使用aspectj處理aop變得十分簡單了.
其核心有兩點是需要我們重點注意的:
(1)切入點表示式
(2)通知增強的註解
本節,重點說一下切入點表示式的問題.
二 .切入點表示式
切入點表示式重點表示的就是通知到底應該在上面方法上面生效.
因此,切入點表示式的核心就很好理解了.
在aspectj之中,定義了很多的切入點表示式的情況,數量十分的多,但是我們卻只需要知道少數的幾個就能完成我們的日常任務.
其中最為重要的就是 execution() : 表示式函式系列
三 .execution表示式函式系列的切入點:
概述: 表達的就是切入點出的函式的定義(方法的描述).
因此 : 核心的結構如下:
方法的返回值 全類名.方法名(方法的引數列表)
此外還有如異常等,這個我們一般不會重點關注的就不做表述.
萬用字元的概念 :
aspectj支援萬用字元的概念:
(1) * : 表示代表任意的字元
(2).. : 表示任意的子包和通配所有的引數列表
(3) + : 這個我們一般不會去使用,介紹一下就可以了,通配型別或其子類.
此外,為了更好的使用切入點表示式,還提供了邏輯運算子的概念.
這個也是十分的簡單的.
(1)&& : 表示邏輯與.
(2)|| : 表示邏輯或
(3) ! : 表示邏輯非
四 .註解切入點
我們現在的開發之後總,最為常見的就是註解了.因此,aspectj也支援註解形式的支援.
語法格式: @annotation(註解的全類名)
這個十分的好理解,不去多說什麼了.
五 總結
雖然切入點表示式的內容很多,但是我們使用的種類卻不是很多,原因就是剩下的都是進行精確匹配的.
我們現在只需要注意兩種切入點表示式就基本夠用了.
(1)函式表示式
(2)註解表示式
execution切入點表示式
spring aop 使用者可能會經常使用execution切入點指示符。執行表示式的格式如下 execution modifiers pattern?ret type pattern declaring type pattern?name pattern param pattern throws ...
execution切入點表示式
spring aop 使用者可能會經常使用execution切入點指示符。執行表示式的格式如下 execution modifiers pattern?ret type pattern declaring type pattern?name pattern param pattern throws ...
Spring AOP切入點表示式
為了過濾方法以便將通知應用於spring bean,spring aop提供了各種匹配表示式。這些表示式通常也被稱為切入點指示符 根據型別 比如介面 類名或者包名 過濾方法,spring aop提供了within關鍵字。語法 within 示例 within com.該通知匹配該包及其子包下的所有的...