AOP面向切面

2021-09-25 22:42:05 字數 1164 閱讀 9508

spring框架

開門見山,此篇部落格將主要來講講這個spring框架的aop

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

首先,我們需要知道以下幾個概念:

1.joinpoint連線點:

指被攔截的點,在spring中指的是方法,在類中的方法可以被增強,這些方法稱之為連線點。(增強:加功能)

2.pointcut切入點:

對joinpoint進行攔截定義在類中有很多的方法是可以被增強的,實際增強的方法稱之為切入點。

3.ice(增強/通知)

所謂的增強是指攔截到joinpoint之後所做的事情就是通知

通知存在5種:

前置通知

方法之前執行

後置通知

方法之後執行

異常通知

方法出現異常執行

最終通知

後置通知之後執行

環繞通知

方法之前和方法之後

4.aspect切面:

是切入點和通知的結合    將增強應用到切入點的過程

也就是我們先寫好乙個方法,然後在測試期間,我們不想對這個原有方法進行修改,那麼用切面即可。

其實,用aop採取橫向的抽取機制,取代了傳統的縱向繼承體系寫重複性**

說到這裡,基本對為什麼用它有所了解。

那麼它的實現原理是什麼呢???

aop是基於動態**實現

1.第一種

有介面的情況下,動態**:jdk動態**

2.第二種

在沒有介面的情況下,通過cglib**方式建立類的子類,通過子類呼叫父類的方法完成增強

aop切面程式設計PHP PHP AOP面向切面程式設計

aop aspect oriented programming 面向切面程式設計 字面解析 這裡的切面 aspect 通常是指類的乙個例項方法,也就是說其實我們只要在類的乙個例項方法執行前或後面掛載前置或後置方法,有點像鉤子,其實目的都是一樣的,都是為了切分和擴充套件相應方法的功能,而不需要在原始方...

aop 面向切面程式設計

起源 研究人員就對物件導向思想的侷限性進行了分析。他們研究出了一種新的程式設計思想,借助這一思想或許可以通過減少 重複模組從而幫助開發人員提高工作效率。隨著研究的逐漸深入,aop也逐漸發展成一套完整的程式設計思想,各種應用aop的技術也應運而生。aop思想 定義乙個切面,在切面的縱向定義處理方法,處...

AOP面向切面程式設計

1 概念 面向切面程式設計,通過預編譯方式和執行期動態 實現程式功能的統一維護的一種技術。aop是oop的延續,利用aop可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程式的可重用性,同時提高了開發的效率 2 作用 1.解耦,將通用性的功能模組 與業務 解耦 ioc專...