spring aop半自動與全自動編程

在spring中,我們可以通過在配置文件中配置目標類,切面類,代理類來達到目的。首先要講的的是半自動代理。這種情況下,在配置文件中創建代理類時,需要配置以下幾個部分:


1.創建目標類

<bean id="目標類">

2.創建切面類

<bean id="切面類”>

3.創建代理類

<bean id="代理類">

其中需要配置幾個字段:

1).interfaces:確定目標類的接口類

2).target:確定目標類

3).interceptorNames:確定切面類

這樣一來,在使用applicationContext.getBean()時,我們需要得到的依然是代理類的名稱。

applicationContext.getBean("代理類");


我們將以上的AOP稱為半自動AOP代理。

那么,什么是全自動代理呢?全自動,也就是我們在配置文件中做好一切配置,獲得Bean的時候,只需要傳入目標類的名稱,spring就會自動根據配置文件來幫我們來生成代理對象,在我們書寫的代碼中,無需考慮具體細節。以下進行介紹。

首先是spring的配置文件。

這里我們需要加入schema約束,具體的寫法,可以參考spring文檔(xsd-config.html)。

接下來仍然分為三個部分:

1.創建目標類

2.創建切面類

3.AOP配置

詳細說一下3的配置。

<aop:config proxy-target-class="true">//聲明使用cglb代理

? ? ? ? ? <aop:pointcut expression="” id="">//切入點,從目標對象獲得具體方法,expression是切入點表達式,用于配置目標類中的連接點有哪些是切入點。關于切入點表達式,可 查詢相關資料。

? ? ? ? ? <aop:advisor advice-ref="" point-ref="">//一個通知,一個切入點

? ? ? ?

<aop:config/>

這樣一來,使用spring工廠產生bean時,直接使用目標類的名稱就可以得到代理對象了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容