日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Aop总结

發布時間:2023/12/3 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Aop总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、什么是AOP

面向方面的編程(AOP)是一種編程技術,是面向對象編程的補充,它也提供了模塊化。

在面向對象編程中,關鍵的單元是對象,AOP的關鍵單元是切面,或者說關注點。一些切面可能有集中的代碼,但是有些可能被分散或者混雜在一起,它允許程序員模塊化橫切關注點或行為,這些問題或行為跨越典型的責任分工,例如日志記錄和事務管理。

二、關注點和橫切關注點

(1)關注點

應用的模塊中實現的行為。關注點可以被定義為:我們想實現以解決特定業務問題的方法。
(2)橫切關注點

貫穿整個應用程序的關注點。像日志、安全和數據轉換,它們在應用的每一個模塊都是必須的,所以他們是一種橫切關注點。

三、AOP 術語

1、連接點(Joinpoint)
連接點描述的是程序執行的某個特定位置

2、切入點(Pointcut)
切入點是一個連接點的過濾條件,AOP 通過切點定位到特定的連接點

3、通知(Advice)、增強或橫切關注點
切面在某個具體的連接點采取的行為或行動,稱為通知。

切面的核心邏輯代碼都寫在通知中,有人也稱之為增強或者橫切關注點。

通知是切面功能的具體實現,通常是業務代碼以外的需求,如日志、驗證等,這些被模塊化的特殊對象

4、通知器(Advisor)
通知器由一個切入點(pointcut)和一個通知(Advice)組成。通知就是增強的那部分功能代碼,如記錄日志代碼、控制權限代碼

5. 切面(Aspect)
與通知器(advisor)類似都是通知+切入點。區別在于,切面中的類無需實現通知接口,但需要在配置文件中指定類中的方法名;

而通知器僅需指定類名即可,因為通知器中的類都實現了通知接口,很明確的知道通知方法是哪個。

6、目標(Target)
被通知的對象(方法)

7、代理(Proxy)
向目標對象應用通知之后創建的對象

8、引介(Introduction)

引介是一種特殊的增強,它為類添加一些屬性和方法。

即使一個業務類原本沒有實現某個接口,通過AOP的引介功能,我們可以動態地為該業務類添加接口的實現邏輯,讓業務類成為這個接口的實現類

9、織入(weaving)
織入是將切面與外部的應用類型或者類連接起來以創建通知對象(adviced object)的過程。

三種織入的方式:
a、編譯期織入,這要求使用特殊的Java編譯器。
b、類裝載期織入,這要求使用特殊的類裝載器。
c、動態代理織入,在運行期為目標類添加增強生成子類的方式。
Spring采用動態代理織入,而AspectJ采用編譯期織入和類加載期織入。
AspectJ:編譯時織入、后編譯時織入(post-compile-time weaving)、類加載時織入(load-time weaving, LTW)
?

四、AOP可用的實現

基于Java的主要AOP實現有:

AspectJ
Spring AOP
JBoss AOP

五、AOP的通知類型

通知(advice)是在程序中想要應用在其他模塊中的橫切關注點的實現。

Advice主要有以下5種類型:

1、前置通知(Before Advice):@Before

2、返回之后通知(After Retuning Advice):@AfterReturning

3、拋出(異常)后執行通知(After Throwing Advice):@AfterThrowing?

4、后置通知(After Advice):無論連接點是通過什么方式退出,@After?

5、圍繞通知(Around Advice): @Around?

六、AOP 代理

代理是使用非常廣泛的設計模式。Spring AOP是基于代理實現的
AOP 代理是一個由 AOP 框架創建的用于在運行時實現切面協議的對象
Spring AOP默認為 AOP 代理使用標準的 JDK 動態代理
Spring AOP 也可以使用 CGLIB 代理


?

總結

以上是生活随笔為你收集整理的Spring Aop总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。