課程
/后端開發(fā)
/Java
/Spring入門篇
關(guān)于aop:after,老師說是最后一場代碼,可是我無意中切換了一下xml中配置順序
然后test執(zhí)行結(jié)果就變成了
這是什么原因呢?老師或哪位大俠指點(diǎn)下~謝謝~
2019-03-08
源自:Spring入門篇 5-4
正在回答
aop執(zhí)行方式為:前置通知==>所要增強(qiáng)的方法==>后置通知==>最終通知
在出現(xiàn)異常時會進(jìn)行:前置通知==>所要增強(qiáng)的方法==>異常通知==>最終通知
此時的后置通知不會顯示而顯示異常通知.
而用xml進(jìn)行配置時,是按照我們寫好的順序進(jìn)行動態(tài)組合完成,最終和后置通知是隨著xml配置的前后順序改變的,但是經(jīng)過測試不會影響前置和所要增強(qiáng)的方法的順序,但是會影響最終和后置通知的位置.
我認(rèn)為利用環(huán)繞通知進(jìn)行方法的增強(qiáng)(aop:around)是一個比較好的方式,不會出現(xiàn)順序問題.
還有就是,關(guān)于這個aop方法增強(qiáng)的應(yīng)用就我現(xiàn)在所認(rèn)知大多還是為了事務(wù)服務(wù),所以通過配置 事務(wù)管理和事務(wù)注解支持
<!--?事務(wù)管理器??-->?? <bean?id="transactionManager"?class="org.springframework.jdbc.datasource.DataSourceTransactionManager">?? ????<property?name="dataSource"?ref="dataSource"?/>?? </bean>?? ?? <!--?開啟事務(wù)控制的注解支持?-->?? <tx:annotation-driven?transaction-manager="transactionManager"/>
將事務(wù)放入spring ioc容器中就可以解決數(shù)據(jù)的一致性和完整性問題.
你的after方法是不是寫在了afterReturn方法的前面?
關(guān)于底層的一些代碼可以去百度看一下,因為這有涉及到關(guān)于spring執(zhí)行流程相關(guān)的問題,總的來說,我們并不太好去確定xml的前后置和最終以及通知的相關(guān)順序.
舉報
為您帶來IOC和AOP的基本概念及用法,為后續(xù)高級課程學(xué)習(xí)打下基礎(chǔ)
2 回答對spring的一點(diǎn)疑惑
2 回答@Named疑惑
1 回答關(guān)于Component有一點(diǎn)疑問
1 回答使用byName的時候,service.say(...)方法中dao.say應(yīng)該是空指針異常吧?
1 回答aware有使用意義嗎
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2019-03-13
aop執(zhí)行方式為:前置通知==>所要增強(qiáng)的方法==>后置通知==>最終通知
在出現(xiàn)異常時會進(jìn)行:前置通知==>所要增強(qiáng)的方法==>異常通知==>最終通知
此時的后置通知不會顯示而顯示異常通知.
而用xml進(jìn)行配置時,是按照我們寫好的順序進(jìn)行動態(tài)組合完成,最終和后置通知是隨著xml配置的前后順序改變的,但是經(jīng)過測試不會影響前置和所要增強(qiáng)的方法的順序,但是會影響最終和后置通知的位置.
我認(rèn)為利用環(huán)繞通知進(jìn)行方法的增強(qiáng)(aop:around)是一個比較好的方式,不會出現(xiàn)順序問題.
還有就是,關(guān)于這個aop方法增強(qiáng)的應(yīng)用就我現(xiàn)在所認(rèn)知大多還是為了事務(wù)服務(wù),所以通過配置 事務(wù)管理和事務(wù)注解支持
將事務(wù)放入spring ioc容器中就可以解決數(shù)據(jù)的一致性和完整性問題.
2020-01-05
你的after方法是不是寫在了afterReturn方法的前面?
2019-03-13
關(guān)于底層的一些代碼可以去百度看一下,因為這有涉及到關(guān)于spring執(zhí)行流程相關(guān)的問題,總的來說,我們并不太好去確定xml的前后置和最終以及通知的相關(guān)順序.