Spring實戰 第3版 AOP

2022-03-16 03:31:24 字數 1501 閱讀 8035

在軟體開發中,分布於應用中多處的功能被稱為橫切關注點。通常,這些橫切關注點從概念上是與應用的

業務邏輯相分離的(但是往往直接嵌入到應用的業務邏輯之中)。將這些橫切關注點與業務邏輯相分離正是

面向切面程式設計(aop)所要解決的。

基於切面進行宣告式程式設計。

aop使這些服務模組化,並以宣告的方式將它們應用到它們需要影響的元件中去。aop確保pojo保持簡單。

在使用面向切面程式設計時,我們仍然在乙個地方定義通用功能,但是我們可以通過宣告的方式定義這個功能以何種方式在

何處應用,而無需修改受影響的類。

橫切關注點可以被模組化為特殊的類,這些類被稱為切面。這樣做有兩個

好處:首先,每個關注點現在都只集中於一處,而不是分散到多處**中;其次,服務模組更簡潔,因為它們

只包含主要關注點(或核心功能)的**,而次要關注點的**被轉移到切面中了。

繼承與委託是最常見的實現重用通用功能的物件導向技術。切面提供了取代繼承和委託的另一種選擇。

切面的工作被稱為通知。

連線點是在應用執行過程中能夠插入切面的乙個點。這個點可以是呼叫方法時、丟擲異常時、甚至修改乙個欄位時。切面**

可以利用這些點插入到應用的正常流程之中,並新增新的行為。

切點有助於縮小切面所通知連線點的範圍。

切面是通知和切點的結合。通知和切點共同定義了關於切面的全部內容——它是什麼,在何時和何處完成其功能。

前3中都是spring基於**的aop變體,因此,spring對aop的支援侷限於方法攔截

建立切點來定義切面織入的連線點是aop框架的基本功能。因為spring基於動態**,所以spring只支援方法連線點。

spring的目標之一就是允許開發人員在開發應用程式時,能夠遵循物件導向(oo)原則中的「針對介面程式設計」。

spring security從兩個角度來解決安全性問題。它使用servlet過濾器保護web請求並限制url級別的訪問,

也可以使用spring aop保護方法呼叫——借助於物件**和使用通知,能夠確保只有具備適當許可權的使用者才能

訪問安全保護的方法。

spring在執行期通知物件。

切點和通知是切面的最基本元素。

《Spring實戰》AOP術語

aop 面向切面程式設計 常用術語 通知 advice 切點 pointcut 連線點 join point 通知 advice 在aop術語中,切面的工作被稱為通知。spring切面可以應用的5種型別的通知 連線點 join point 程式應用中可能有數以千計的時機應用通知,這些時機被稱為連線點...

Spring 3 x 企業應用實戰 AOP基礎

aop aop是oop的有益補充,他為程式開發提供了乙個嶄新的思考角度,可以將重複性的橫切邏輯抽取到統一的模組中,通過oop的縱向抽象和aop的橫向抽取,程式才能真正解決複雜性 問題。spring採用jdk動態 和cglib動態 的技術在執行期間植入增強,所以我們不需要裝備特殊的編譯器或者類裝載器就...

Spring基礎 AOP使用XML實戰

github 工程 aop是什麼,有哪些概念?參考 spring使用註解aop實戰 在進行xml配置aop之前,需要了解spring的aop命名空間中,提供了多少個元素用來在xml中宣告切面。這些配置在以下xml中體會。建立乙個切面,該切面沒有任何的註解。package com.jpeony.spr...