(1)連線點(joinpoint):程式執行的某個特定位置(如方法呼叫前後,方法丟擲異常後)。乙個類或一段程式**擁有一些具有邊界性質的連線點。
(2)切點(pointcut):切點相當於查詢條件,乙個切點可以匹配多個連線點,如下所示,即用到了reviewlist這個註解的都符合條件。
@pointcut
("@annotation(com.dingxianginc.ctuconsole.domain.struct.reviewlist)"
)public
void
operate()
(3)增強(advice):織入到目標連線點上的一段程式**,包括前置、後置、返回後、拋異常時、包圍性增強。
(4)切面(aspect):由切點和增強組成。
@around,@before,@after,@afterreturning,@afterthrowing,以上註解表示增強在方法執行週期裡生效的時間。
正常情況:
異常情況:
aop 面向切面程式設計
起源 研究人員就對物件導向思想的侷限性進行了分析。他們研究出了一種新的程式設計思想,借助這一思想或許可以通過減少 重複模組從而幫助開發人員提高工作效率。隨著研究的逐漸深入,aop也逐漸發展成一套完整的程式設計思想,各種應用aop的技術也應運而生。aop思想 定義乙個切面,在切面的縱向定義處理方法,處...
AOP面向切面程式設計
1 概念 面向切面程式設計,通過預編譯方式和執行期動態 實現程式功能的統一維護的一種技術。aop是oop的延續,利用aop可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程式的可重用性,同時提高了開發的效率 2 作用 1.解耦,將通用性的功能模組 與業務 解耦 ioc專...
AOP 面向切面程式設計
aop aspect oriented programming 即面向切面程式設計,可以說是oop object oriented programming 物件導向程式設計的補充和完善。面向切面程式設計是物件導向中的一種方式而已。在 執行過程中,動態嵌入其他 叫做面向切面程式設計。常見的使用場景 日...