spring aop(面向方面程式設計)框架,用於在模組化方面的橫切關注點。簡單得說,它只是乙個***攔截一些過程,例如,當乙個方法執行,spring aop 可以劫持乙個執行的方法,在方法執行之前或之後新增額外的功能。
在spring aop中,有 4 種型別通知(advices)的支援:
<?xml version="1.0" encoding="utf-8"?>
hijackbeforemethod
public static void main(string args) catch (exception e)
}}
輸出結果
*************************其他幾種方式和這種類似。hijackbeforemethod : before method hijacked!
customer name : yiibai mook kim
*************************
hijackbeforemethod : before method hijacked!
customer website :
*************************
hijackbeforemethod : before method hijacked!
在上乙個spring aop通知的例子,乙個類的整個方法被自動攔截。但在大多數情況下,可能只需要一種方式來攔截乙個或兩個方法,這就是為什麼引入'切入點'的原因。它允許你通過它的方法名來攔截方法。另外,乙個「切入點」必須具有「advisor' 相關聯。
1 通過切入點只攔截printname方法
<?xml version="1.0" encoding="utf-8"?>
customeradvisor
spring提供了cutadvisor類來儲存工作宣告advisor和切入點到不同的bean,可以使用 namematchmethodpointcutadvisor兩者結合成乙個 bean。
hijackbeforemethod : before method hijacked!不用管使用什麼**方法, spring 都會有最適合處理方式。customer name : yiibai
*************************
customer website :
*************************
只攔截了printname方法。
這個
defaultadvisorautoproxycreator
是非常強大的,如果有 bean 相關連,spring會自動建立乙個**。
xmlns
=""xmlns:xsi
=""xsi:schemalocation
="/spring-beans-2.5.xsd"
>
"customerservice"
class
="com.yiibai.customer.services.customerservice"
>
name
="name"
value
="yiibai mook kim"
/>
name
="url"
value
=""/>
bean
>
"hijackaroundmethodbeanadvice"
class
="com.yiibai.aop.hijackaroundmethod"
/>
"customeradvisor"
class
="org.springframework.aop.support.namematchmethodyiibaicutadvisor"
>
name
= value
="printname"
/>
name
="advice"
ref="hijackaroundmethodbeanadvice"
/>
bean
>
class
="org.springframework.aop.framework.autoproxy.defaultadvisorautoproxycreator"
/>
beans
>
xml
Spring學習筆記 AOP
1 匯入aop模組 spring aop spring aspects 2 定義乙個業務邏輯 3 定義乙個日誌切面類 通知方法 前置通知 before 在目標方法執行之前執行 後置通知 after 在目標方法執行結束後執行 返回通知 afterrerurning 在目標方法正常返回之後執行 異常通知...
spring學習之AOP 三
四個bean定義的次序並不重要。我們現在有了乙個advice,乙個包含了正規表示式pointcut的advisor,乙個主程式類和乙個配置好的介面,通過工廠ctx,這個介面返回自己本身實現的乙個引用。beanimpl和testbeforeadvice都是直接配置。我們用乙個唯一的id建立乙個bean...
spring 五 AOP註解學習
1 配置檔案 檔名沒有規定,可任意命名 2 建立實現類 日誌記錄實現類 基於註解的aop aspect 宣告切面類 component public class logaspect 後置增強 after execution com.zh.aop.public void afteradvice 環繞增...