AOP基本執行流程

2021-09-10 08:31:31 字數 1629 閱讀 9433

aop是如何利用**實現功能的織入,想要了解aop的基本執行流程,那我們首先得知道它的一些基本概念。

基本概念

就是所關注的公共功能,比如像事務管理,就是乙個關注點。表示 「要做什麼」。

乙個連線點總是代表乙個方法的執行。表示「在什麼地方做」。

通知有各種型別,其中包括「around」、「before」和「after」等通知。許多aop框架,包括spring,都是以***做通知模型,並維護乙個以連線點為中心的***鏈。表示「具體怎麼做」

乙個關注點的模組化,這個關注點可能會橫切多個物件。 綜合表示「 在什麼地方,要做什麼,以及具體如何做」

一般是配製,切入點表示式如何和連線點匹配是aop的核心:spring預設使用aspectj切入點語法。簡單來說就是「很多連線點的集合」

spring aop是通過執行時**實現的,這個物件永遠是乙個被**(proxied) 物件

簡單來說就是動態**的實現。

把切面連線到其它的應用程式型別或者物件上,並建立乙個被通知的物件的過程。也就是說織入是乙個過程

aop基本執行流程

在下圖中,目標物件就是我們的核心業務功能類。我們需要在3個方法處理新增一些公共功能,在aop中我們需要新增的這些公共功能就是上面我們所說的關注點。

要利用切面,我們不直接在3個方法進行呼叫,將方法進行抽取出來分離關注點,被通知的物件advice。

spring會根據配製檔案中配製的切入點去匹配target中方法的呼叫,從而知道哪些方法需要增加。

當客戶端呼叫這些方法時,直接呼叫的是**物件的方法。

aop通過配製檔案中配製的切入點與advice,從而找到指定方法需要增強的功能。

最終通過**將advice動態織入到指定方法。

說完上面的流程,下面我們來乙個具體的例項體驗一下:

準備:1、編寫target,目標類

2、編寫advice,作日誌記錄增強

3、編寫配製檔案,配製aspect、配製advice、配製target

4、客戶端執行

5、最終結果

日誌記錄

==執行吧

註解AOP程式設計流程

spring提供了兩種切面宣告方式,實際工作中我們可以選用其中一種 基於xml配置方式宣告切面,為aop專門提供了aop命名空間 基於註解方式宣告切面,aspectj切點表示式語言的支援。aspectj允許開發者在pojo中定義切面 採用註解方式實現 annotation 步驟 引入aspectj類...

mysqld safe指令碼執行的基本流程

mysqld safe指令碼執行的基本流程 1 查詢basedir和ledir。2 查詢datadir和my.cnf。3 對my.cnf做一些檢查,具體檢查哪些選項請看附件中的注釋。4 解析my.cnf中的組 mysqld 和 mysqld safe 並和終端裡輸入的命令合併。5 呼叫parse a...

AOP執行過程解析

上篇寫了動態 這裡我們來看看aop吧 aop面向切面程式設計的核心思想就是動態 想要應用aop,主要有如下步驟 1 編寫乙個切面類,在類中寫一些方法,在些方法上配置連線點 before after around afterruturning afterthrowing 在連線點後寫明切點 excec...