今天在看同事代碼的時候,發現在一個Service層,A方法調用B方法的時候,用了
((Service)AopContext.currentProxy()).B()
這種方式去調用,我沒遇到過這種方式,不太理解,后來百度了一下,終於明白這樣用法的意義,現在記錄下來!
原來在springAOP的用法中,只有代理的類才會被切入,我們在controller層調用service的方法的時候,是可以被切入的,但是如果我們在service層 A方法中,調用B方法,切點切的是B方法,那么這時候是不會切入的,解決辦法就是如上所示,在A方法中使用
((Service)AopContext.currentProxy()).B() 來調用B方法,這樣一來,就能切入了!
