對Spring框架中AOP的理解

2021-09-26 10:36:05 字數 665 閱讀 3082

在今天讀了文章後對aop做了一些自己的理解,現記錄於此,共同交流。

springaop就是所謂的切面程式設計,但要怎麼理解這個切面程式設計呢,舉乙個例子,現在我在乙個類中有a、b、c三個方法,這在執行這三個方法時我想要在每個方法的執行前後各輸出日誌資訊,那麼正常的操作是在每乙個方法中都要加上輸出日誌的功能,但這會帶來一些問題:

1、**混亂,像輸出日誌這種需求是屬於非業務需求,而方法中是業務需求,非業務需求和業務需求摻雜會使本來的業務方法冗餘,同時業務方法中在執行業務需求時還要兼顧非業務需求。

2、**混亂:為了實現乙個簡單的非業務需求,不得不在各個業務方法中加入重複的**。

因此對於這種問題,我們可以想著把這部分輸出日誌的需求隔離出來,在每個方法執行的時候可以執行就可以解決上面出現的問題了。

因此aop在我理解中就是:

把每乙個非業務需求想像成乙個點,然後這些所有的點組成乙個圓⚪,圓上的每個點都是乙個非業務需求,另外把業務需求中的方法想象成乙個點,那麼在這些方法在執行某個非業務需求時就會和圓上的乙個點重合,如果把所有的方法連在一起就是一條直線,那麼該直線就和圓形成了乙個切點,就形成了乙個類似與切面的效果,從而實現了對於spring中的切面程式設計的思想。

需要執行的業務需求與非業務需求隔離開,從而保持了**的簡潔性。

有不對的地方歡迎指正共同交流共同進步!謝謝!

spring框架中的AOP

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

Spring框架 中的 AOP的說明

snipaste 2019 07 04 11 30 28.png 在程式執行期間,不修改原始碼對已有方法進行增強。優勢 減少重複 提高開發效率維護方便1.1.3 aop 的實現方式使用動態 技術 所謂連線點是指那些被攔截到的點。在 spring 中,這些點指的是方法,因為 spring 只支援方法型...

Spring框架 AOP細節

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