AOP的連接點與切點區別,連接點,切點,切面的基礎概念


AOP的連接點、切點、切面、引入、織入、通知的概念

1、通知(Advice)

通知定義了何時,做什么。

Spring切面可以應用五種類型的通知:

  • 前置通知(Before): 在目標方法被調用之前通知功能。
  • 后置通知(After):在目標方法被調用之后通知功能。
  • 返回通知(After-returning):在目標方法執行成功之后調用通知。
  • 異常通知(After-throwing):在目標方法拋出異常之后調用通知。
  • 環繞通知(Around):通知包含了被通知的方法,在被通知的方法調用之前和調用之后執行自定義的行為。

 

2、織入(weaving)

把切面應用到目標對象並創建代理對象的過程。切點在指定的連接點(切點)被織入到目標對象中。在目標的生命周期中,有多個點可以被織入:

編譯期、類加載期、運行期

 

3、連接點(JoinPoint)

連接點是在應用執行過程中能夠插入切面(Aspect)的一個點。這些點可以是調用方法時、甚至修改一個字段時。

它是一個虛擬的概念,例如坐地鐵的時候,每一個站都可以下車,那么這每一個站都是一個接入點。假如一個對象中有多個方法,那么這個每一個方法就是一個連接點。

 

4、切入點(Pointcut)

切入點是一些特使的連接點,是具體附加通知的地方。切點定義了匹配通知在何處織入。

例如坐地鐵的時候,具體在某個站下車,那這個站就是切入點

 

5、切面 (Aspect)

切面是通知和切入點的結合,通知規定了在什么時機干什么事,切入點規定了在什么地方。如“在8點鍾在西站下車“ 就是一個切面。那么時間8點,動作下車就是一個通知。西站就是一個切入點。

 

6、引入(introduction)

允許我們向現有的類添加新方法屬性。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM