Spring MVC中AOP無效、不起作用,解決方案之一 轉載

原文鏈接:https://blog.csdn.net/tianjun2012/article/details/47809739

Spring MVC中AOP無效、不起作用,解決方案之一

 

本文鏈接:https://blog.csdn.net/tianjun2012/article/details/47809739

最近由於項目原因,在Spring+SpringMVC+Mybatis的環境中,增加對controller或是service的日誌監控,在網上搜了半天,按照SpringAop的配置出不了結果,在按照網上的各種配置改……,各種頭疼中,無意中看到摸個高手寫的一段文字突然,感覺很有意思,就這樣莫名其妙的解決了。回頭看,我去,別人都寫好了,我們配置都不會配置,悲哀…,這就是我對各種框架一知半解,甚至不知道的結果。

首先對入口文件,web.xml分析:

還有一點,我們可以查到,加載這連個配置文件的累分別是:spring(applicationContext),SpringMVC(webApplicationContext)(希望沒記錯,記錯了自己對應修改)

第一步,要明確,我們是在SpringMVC上aop監測,那麼所有的報掃描注入都在SpringMVC的配置文件中完成,不要再spring的配置文件中完成,不然在開啓代理後,發現還是沒有起到任何作用。(當然,aopalliance-1.0.jar,aspectjweaver-1.8.6.jar這兩個jar包不可缺少)

第二步,在SpringMVC的配置文件中開啓它的代理模式:<aop:aspectj-autoproxy expose-proxy="true"></aop:aspectj-autoproxy>

第三步,進行aop監測相關方法的類的編寫

最後就是一個小技巧,就是先測pointcut表達式的具體到某一個具體函數,成功後,在用.*來代替,在測,知道成功完成爲止!!!!!

希望對大家有幫住,也希望有大牛深入剖析其中的原理。有看到的同學請給我轉個鏈接,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章