Spring AOP中的幾個概念


AOP,即面向切面編程,是對OOP的一種補充和完善,在OOP中由於有大量代碼的重復導致不利於各個模塊的重用,而AOP技術利用一種稱為"橫切"的技術,剖解開封裝的對象內部,並將那些影響了多個類的公共行為封裝到一個可重用模塊,並將其命名為"Aspect",即切面。所謂"切面",簡單說就是那些與業務無關,卻為業務模塊所共同調用的邏輯或責任封裝起來,便於減少系統的重復代碼,降低模塊之間的耦合度,提升了軟件的可操作性和可維護性。

 AOP的基本概念

(1)Aspect(切面):通常是一個類,里面可以定義切入點和通知,是對橫切關注點的抽象。

(2)JointPoint(連接點):程序執行過程中明確的點,一般是方法的調用,還可以是字段或則構造器。

(3)Advice(通知):AOP在特定的切入點上執行的增強處理,包含before,after,afterReturning,afterThrowing,around

(4)Pointcut(切入點):就是帶有通知的連接點,在程序中主要體現為書寫切入點表達式

(5)AOP代理:AOP框架創建的對象,代理就是目標對象的加強。Spring中的AOP代理可以使JDK動態代理,也可以是CGLIB代理,前者基於接口,后者基於子類

(6)目標對象:代理的目標對象

(7)Waving(織入):將切面應用到目標對象並導致代理對象創建的過程

(8)Introduction(引入):在不修改代碼的前提下,引入可以在運行期為類動態地添加一些方法或字段

 


免責聲明!

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



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