6 AOP相關概念

2022-03-11 00:38:23 字數 769 閱讀 1329

首先讓我們從定義一些重要的aop概念開始。這些術語不是spring特有的。 不幸的是,spring術語並不是特別的直觀;如果spring使用自己的術語,將會變得更加令人困惑。

通知的型別:

環繞通知是最常用的一種通知型別。大部分基於攔截的aop框架,例如nanning和jboss4,都只提供環繞通知。

跟aspectj一樣,spring提供所有型別的通知,我們推薦你使用盡量簡單的通知型別來實現需要的功能。 例如,如果你只是需要用乙個方法的返回值來更新快取,雖然使用環繞通知也能完成同樣的事情, 但是你最好使用after returning通知而不是環繞通知。 用最合適的通知型別可以使得程式設計模型變得簡單,並且能夠避免很多潛在的錯誤。 比如,你不需要呼叫joinpoint(用於around advice)的proceed()方法,就不會有呼叫的問題。

在spring 2.0中,所有的通知引數都是靜態型別,因此你可以使用合適的型別(例如乙個方法執行後的返回值型別)作為通知的引數而不是使用乙個物件陣列。

切入點(pointcut)和連線點(join point)匹配的概念是aop的關鍵,這使得aop不同於其它僅僅提供攔截功能的舊技術。 切入點使得定位通知(advice)可獨立於oo層次。 例如,乙個提供宣告式事務管理的around通知可以被應用到一組橫跨多個物件中的方法上(例如服務層的所有業務操作)。

來自為知筆記(wiz)

AOP概念詳解

aop aspect oriented programming 面向切面思想,是spring的三大核心思想之一 兩外兩個 ioc 控制反轉 di 依賴注入 程式中一般都存在一些系統性的去求,許可權校驗 日誌記錄 統計等。有多少業務操作,就要寫多少重複的校驗和日誌記錄 運用物件導向的思想,我們可以把這...

AOP概念理解

aop 的全稱是 aspect oriented programming 在網上很多地方都將 aop翻譯成 面向方面程式設計 我覺得這樣的翻譯不利於對aop概念的理解,在中文中,如果 方面 前面沒有修飾詞,方面 是乙個沒有意義的詞語。面向方面程式設計 那這個 方面 是什麼?我覺得將aspect翻譯成...

Aop的基本概念

基本概念 joinpoint 在系統執行之前,aop的功能模組都需要織入到oop的功能模組中。所以,要進行這種織入過程,我們需要知道在系統的那些執行點上進行織入操作。這些將要在其上進行織入操作的系統執行點就稱之為joinpoint。在spring aop 中僅支援方法級別的joinpoint poi...