Spring AOP 面向切面技術

2021-08-28 07:37:18 字數 899 閱讀 2799

1.概念:

aop(aspect oriented programming),是面向切面程式設計的技術。aop 基於 ioc 基礎,是對 oop 的有益補充

aop 之所以能得到廣泛認可,主要是因為它將應用系統拆分分了 2個部分:核心業務邏輯(core business concerns)及橫向的通用邏輯,也就是所謂的切面 crosscutting enterprise concerns。例如,所有大中型應用都要涉及到的持久化管理(persistent)、事務管理(transactionmanagement)、許可權管理(privilege management)、日誌管理(logging)和除錯管理(debugging)等。使用 aop 技術,可以讓開發人員只專注核心業務,而通用邏輯則使用 aop 技術進行橫向切入,由專人去處

理這些通用邏輯,會使得任務簡單明瞭,提高開發和除錯的效率。

2.aop 兩種**的區別

aop 支援 2 種**,jdk 的動態**和 cglib 實現機制。二者有什麼區別呢:

  jdk 基於介面實現:jdk 動態**對實現了介面的類進行**。

  cglib 基於繼承:cglib **可以對類**,主要對指定的類生成乙個子類,因為是繼承,所以目標類最好不要使用 final 宣告

通常情況下,鼓勵使用 jdk **,因為業務一般都會抽象出乙個介面,而且不用引入新的東西。如果是遺留的系統,以前沒有實現介面,那麼只能使用 cglib

3. 各種通知(advice)型別

Spring AOP 面向切面程式設計

spring aop aop aspect orient programming 也就是面向切面程式設計 可以這樣理解,物件導向程式設計 oop 是從靜態角度考慮程式結構,面向切面程式設計 aop 是從動態角度考慮程式執行過程。在日常生活中,會遇到各種各樣的中介機構,比如獵頭公司,律師事務所,婚姻介...

Spring AOP面向切面程式設計

最近在系統中需要實現使用者某些操作新增積分,希望實現對系統現有的 進行最小嵌入,因此使用spring aop的切面程式設計將很好實現該需求,達到最小耦合度。在spring aop中的通知都是針對方法層級進行通知,相對與struct中針對類層級通知,具有更好的靈活性。方法攔截 methodinterc...

Spring AOP面向切面程式設計

一.常用概念 原有功能 切點 pointcut 前置通知 在切點之前執行的功能,before advice 後置通知 在切點之後執行的功能,after advice 異常通知 如果切點執行過程 現異常,則觸發異常通知 throws advice 切面 所有功能的總稱 織入 把切面嵌入到原有功能的過程...