Spring AOP的相關概念

2021-10-04 06:58:25 字數 1104 閱讀 3538

aop(aspect-orientedprogramming,面向切面程式設計),可以說是oop(object-oriented programing,物件導向程式設計)的補充和完善。oop引入封裝、繼承和多型性等概念來建立一種物件層次結構,用以模擬公共行為的乙個集合。當我們需要為分散的物件引入公共行為的時候,oop則顯得無能為力。也就是說,oop允許你定義從上到下的關係,但並不適合定義從左到右的關係。例如日誌功能。日誌**往往水平地散布在所有物件層次中,而與它所散布到的物件的核心功能毫無關係。對於其他型別的**,如安全性、異常處理和透明的持續性也是如此。這種散布在各處的無關的**被稱為橫切(cross-cutting)**,在oop設計中,它導致了大量**的重複,而不利於各個模組的重用。

而aop技術則恰恰相反,它利用一種稱為「橫切」的技術,剖解開封裝的物件內部,並將那些影響了多個類的公共行為封裝到乙個可重用模組,並將其名為「aspect」,即方面。所謂「方面」,簡單地說,就是將那些與業務無關,卻為業務模組所共同呼叫的邏輯或責任封裝起來,便於減少系統的重複**,降低模組間的耦合度,並有利於未來的可操作性和可維護性。aop代表的是乙個橫向的關係,如果說「物件」是乙個空心的圓柱體,其中封裝的是物件的屬性和行為;那麼面向方面程式設計的方法,就彷彿一把利刃,將這些空心圓柱體剖開,以獲得其內部的訊息。而剖開的切面,也就是所謂的「方面」了。然後它又以巧奪天功的妙手將這些剖開的切面復原,不留痕跡。

authentication 許可權

caching 快取

context passing 內容傳遞

error handling 錯誤處理

lazy loading 懶載入

debugging  除錯

logging, tracing, profiling and monitoring 記錄跟蹤 優化 校準

performance optimization 效能優化

persistence  持久化

resource pooling 資源池

synchronization 同步

transactions 事務

。。。

使用動態**技術。

Spring AOP相關概念

aop面向切面程式設計 aop aspect oriented programming 即面向切面程式設計,可以說是oop object oriented programming,物件導向程式設計 的補充和完善。aop採取橫向抽取機制,替代了傳統縱向繼承體系重複性 在程式開發中主要用來解決一些系統層...

Spring AOP中的幾個概念

aop,即面向切面程式設計,是對oop的一種補充和完善,在oop中由於有大量 的重複導致不利於各個模組的重用,而aop技術利用一種稱為 橫切 的技術,剖解開封裝的物件內部,並將那些影響了多個類的公共行為封裝到乙個可重用模組,並將其命名為 aspect 即切面。所謂 切面 簡單說就是那些與業務無關,卻...

spring aop基本概念

aop詞彙 b joinpoint b 在程式執行過程中某個特定的點,比如某方法呼叫的時候或者處理異常的時候。在spring aop中,乙個連線點總是表示乙個方法的執行。通俗的說就是加入切點的那個點.proceedingjoinpoint b advice b 待織入的邏輯 前置通知 before ...