Spring框架AOP原理

2021-07-25 06:24:30 字數 1149 閱讀 2430

aop(aspect oriented programming):意思就是面相切面程式設計。通俗來說就是一種在通過預編譯方式和執行期間動態**實現程式功能的統一維護的一種技術,這種在執行時,動態的將**切入到類的指定方法、指定位置上的程式設計思想就是面向切面程式設計,aop通過一系列的**來實現的。

說到底,aop其實就是oop的補充而已,oop物件導向程式設計,而物件導向程式設計的特點就是,封裝,繼承和多型,而封裝就是要求將功能分散到不同的物件當中,實際上也就是說,讓不同的類設計不同的方法,而將相同的**提到父類,讓子類擁有自己獨特的方法和行為,這樣做的好處就是降低了**的複雜程度,可以使公共的**重複利用,它實際上就是一種橫向切分,但是慢慢的在專案越來越大也帶來了問題,比如說,在兩個子類中,可能都需要在每個方法之前執行一段**,在執行完之後,又需要執行一段**,這樣就需要在每個類中都加入前後執行的方法,也許他們就是完全相同的,但是因為面相物件的設計無法讓他們聯絡在一起,而不能將重複的**統一起來。**的冗餘較大,我們需要將分散在不同子類當中的公共方法提取出來,提高**的復用性,而物件導向程式設計的這種橫向切分就無法滿足這樣的要求,所以就出現了aop來完善oop的缺陷,aop面向切面程式設計,他將縱向的切割**的執行,一般來說,我們將切入到指定類,指定方法中的**片段稱之為橫切面,將切入到那些類,哪些方法,叫做切入點,有了aop,我們就可以把不同類之間共有的**,抽取到乙個切面中,等到需要時在切入到物件中,從而改變原有的行為,使類和類之間的關係更加緊密。

aop和oop程式設計思想。就是將業務,橫向和縱向的切分,由二維程式設計了三維程式設計,由平面變成了立體,從技術上來,aop是通過動態**和靜態織入的機制來實現。

對於spring框架的兩大核心元件之一的aop來說,最核心的就是通知(advice)和切面(pointcut),我們需要關注的是核心關注點和橫切關注點,spring當中運用到aop最大的功能是在事物管理,許可權認證,日誌等功能

在spring中的advice分為五大通知,分別是:前置。後置,環繞。返回值,異常,

pointcut就是配合advice來使用的,它定義了就是在滿足它規定的環境中,執行advice的方法,從而實現和advice的繫結,實現很切面。進而完成對oop的補充

spring當中運用很切面配置很切面(事務管理):

Spring 框架 AOP的原理及應用

aop 原理 第一.將複雜的需求分解出不同的方面,將公共功能集中解決。第二 採用 機制組裝起來執行,在不改變原程式的基礎上對 段進行增強處理,增加新的功能 所謂面向切面程式設計,是一種通過預編譯方式和執行期動態 實現在不修改源 的情況下給程式動態新增功能的技術 aop 面向切面程式設計,相對於oop...

Spring框架 AOP細節

知己海記憶體 2016 11 24 10 17 1切入點表示式 1.1作用 通過表示式的方式定位乙個或多個具體的連線點。1.2語法細節 切入點表示式的語法格式 execution 許可權修飾符 返回值型別 簡單類名 全類名 方法名 引數列表 舉例說明 表示式execution com.atguigu...

spring框架中的AOP

在spring框架中學習與測試aop。第一步 需要匯入對應的所需要的jar包 第二步 在beans.xml檔案中進行配置 命名標籤的配置 注意 要在配置中加入我注釋的那三行。第一次把第一行漏掉了,導致我在接下來的步驟中報錯,直接無法找到對應的命名標籤。第三步 即可對aop進行例項操作了。由於才開始學...