當前位置:
首頁 > 知識 > AspectJ 框架 spring 實現 AOP?

AspectJ 框架 spring 實現 AOP?

我們前面共享了 spring 完成 AOP 的辦法,看著有那麼一丟丟的麻煩,今日我們來了解一個完成方式簡略,用起來更便利的結構叫做AspectJ。

AspectJ

AspectJ 是什麼

AspectJ 是一個面向切面的結構,他定義了 AOP 的一些語法,有一個專門的位元組碼生成器來生成恪守 java 規範的 class 文件。

AspectJ 的告訴類型不僅包括我們之前了解過的四種告訴:前置告訴、後置告訴、盤繞告訴和反常告訴,而且還多出一種最終告訴即無論程序是否正常履行,最終告訴的代碼會得到履行。

為什麼說 AspectJ 更為簡略,更加便利呢?

原因就是切入點表達式,切入點表達式能夠標識切面織入到哪些類的那些辦法傍邊,就不需要像我們之前利用 spring 完成 AOP 那樣各種配置。只要把切面的完成配置好了,再把這個切入點表達式寫好就能夠了。

語法格式如下:

execution(

modifiers-pattern?

//訪問許可權匹配 如public、protected

ret-type-pattern

//返回值類型匹配

declaring-type-pattern?

//全限定性類名

name-pattern(param-pattern)

//辦法名(參數名)

throws-pattern?

//拋出反常類型

)

注意:中心以空格隔開,有問號的特點表明能夠省略。

特殊符號

a: * 代表0到多個恣意字元

b: .. 放在辦法參數中 ,代表恣意個參數 ,放在包名後面表明當前包及其所有子包途徑

c: + 放在類名後,表明當前類及其子類,放在介面後,表明當前介面及其完成類

例如:

a:execution(public * *(..))

表明恣意的 public 辦法

b:execution(* set *(..))

表明恣意包括以 set 字元最初的辦法

AspectJ+Spring的環境搭建

引進jar包

aopalliance-1.0.jar

spring-aop-4.2.1.RELEASE.jar

aspectjweaver-1.6.6.jar

spring-aspects-4.2.1.RELEASE.jar

引進aop的約束

xml配置方式

編寫切面類,在切面類裡邊定義各種告訴的完成辦法。

在配置文件裡邊對 aop 進行配置

首要先註冊我們的完成類和切面,之後進行 AspectJ的AOP的配置,進行一下測驗

我們就只測驗一下前置告訴哈,剩餘的小夥伴們能夠自己敲一下代碼測驗一下

基於註解方式

編寫切面類,加上@Aspect註解,完成各種告訴,在完成告訴的辦法上加上告訴的註解以及切入點表達式的註解。

在配置文件註冊切面,且加上aspectJ的自動署理

測驗類的話和上面一樣,就是把載入的配置文件換一下。

好的今日的共享就到這裡

怎麼樣我寫理解了嗎?

給大家共享一個結構

好開心!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 java學習吧 的精彩文章:

spring註解方式與AspectJ框架資料庫事務

TAG:java學習吧 |