這篇文章主要講解了“AOP的概念是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“AOP的概念是什么”吧!
一、什么是AOP?
即面向切面編程,是對OOP的一種補充和完善,在OOP中由于有大量代碼的重復導致不利于各個模塊的重用,而AOP技術利用一種稱為"橫切"的技術,剖解開封裝的對象內部,并將那些影響了多個類的公共行為封裝到一個可重用模塊,并將其命名為"Aspect",即切面。所謂"切面",簡單說就是那些與業務無關,卻為業務模塊所共同調用的邏輯或責任封裝起來,便于減少系統的重復代碼,降低模塊之間的耦合度,提升了軟件的可操作性和可維護性。
二、Spring AOP 的幾個概念
AOP的基本概念
(1)Aspect(切面):定義一個切面類,里面可以定義切入點和Advice(@Before,@After等),是對橫切關注點的抽象。
(2)JointPoint(連接點):程序執行過程中明確的點,一般是方法的調用,還可以是字段或則構造器。
(3)Advice(通知):即切入方式是什么,之前?之后?,包含@Before,@After,@AfterReturning,@AfterThrowing,@Around等
(4)Pointcut(切入點):就是帶有通知的連接點,在程序中主要體現為書寫切入點表達式
(5)AOP代理:AOP框架創建的對象,代理就是目標對象的加強。Spring中的AOP代理可以使JDK動態代理,也可以是CGLIB代理,前者基于接口,后者基于子類
(6)目標對象:代理的目標對象
(7)Waving(織入):將切面應用到目標對象并導致代理對象創建的過程
(8)Introduction(引入):在不修改代碼的前提下,引入可以在運行期為類動態地添加一些方法或字段
感謝各位的閱讀,以上就是“AOP的概念是什么”的內容了,經過本文的學習后,相信大家對AOP的概念是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。