共計 2020 個字符,預計需要花費 6 分鐘才能閱讀完成。
這篇文章主要介紹“sping 面向切面編程怎么實現(xiàn)引入通知”,在日常操作中,相信很多人在 sping 面向切面編程怎么實現(xiàn)引入通知問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”sping 面向切面編程怎么實現(xiàn)引入通知”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!
引入通知的目的就是在任意的連接點引入我想要的通知,例如前面四個通知案例的運行結(jié)果:
前置通知被調(diào)用 調(diào)用環(huán)繞通知前 hi 王大錘 調(diào)用環(huán)繞通知后 后置通知被調(diào)用 前置通知被調(diào)用 調(diào)用環(huán)繞通知前 bye 王大錘 調(diào)用環(huán)繞通知后 后置通知被調(diào)用
可以看出在被代理類 Test1Service 的 sayHello()以及 sayBye()方法(這個兩個連接點)切入通知;可是現(xiàn)在我只想在 sayHello()方法(這一個連接點)上切入通知該怎么辦呢?這就要使用到引入通知,其實說白了就是在配置文件中進行配置。(我現(xiàn)在要求環(huán)繞通知只切入到 sayHello()方法上)
修改前面案例的配置文件 beans.xml:
?xml version= 1.0 encoding= UTF-8 ?
beans xmlns= http://www.springframework.org/schema/beans
xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance xmlns:p= http://www.springframework.org/schema/p
xsi:schemaLocation= http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
!– 配置被代理的對象 —
bean id= test1Service > property name= name value= 王大錘 /
/bean
!– 配置前置通知 —
bean id= myMethodBeforeAdvice >
!– 配置后置通知 —
bean id= myMethodAfterAdvice >
!– 配置環(huán)繞通知 —
bean id= myMethodAroundAdvice >
!– 配置異常通知 —
bean id= myMethodThrowsAdvice >
!– 引入通知定義通知的切入點 —
bean id= annotationAdvice
> property name= advice ref= myMethodAroundAdvice /property
property name= mappedNames
list
value sayHello /value
/list
/property
/bean
!– 配置代理對象(代理對象不需要我們自己寫,已經(jīng)有現(xiàn)成的 ProxyFactoryBean 類存在了)—
bean id= proxyFactoryBean > !– 代理接口集 —
property name= proxyInterfaces
list
!–ProxyFactoryBean 類會實現(xiàn)下列接口(必須是接口的全路徑)—
value com.hubin.aop.TestServiceInter /value
value com.hubin.aop.TestServiceInter2 /value
/list
/property
!– 把通知織入到代理對象相當于將通知和代理對象關(guān)聯(lián) —
property name= interceptorNames
list
!– 必須和配置通知的 ben 的 id 對應值是相同的 —
value myMethodBeforeAdvice /value
value myMethodAfterAdvice /value
!– 綁定引用通知 —
value annotationAdvice /value
value myMethodThrowsAdvice /value
/list
/property
!– 配置被代理對象,ref 必須和配置代理對象的 id 對應值相同 —
property name= target ref= test1Service /
/bean
/beans
運行結(jié)果:
前置通知被調(diào)用
調(diào)用環(huán)繞通知前
hi 王大錘
調(diào)用環(huán)繞通知后
后置通知被調(diào)用
前置通知被調(diào)用
bye 王大錘
后置通知被調(diào)用
到此,關(guān)于“sping 面向切面編程怎么實現(xiàn)引入通知”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>