掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流
Spring2.0的aop果然很大改動。aop文檔開篇就介紹@Aspect注解方式的配置,其實我覺得統(tǒng)一aop的配置方式,并且使得它更加易用才是這次改動的成功之處。

站在用戶的角度思考問題,與客戶深入溝通,找到殷都網站設計與殷都網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網站設計、網站制作、企業(yè)官網、英文網站、手機端網站、網站推廣、域名與空間、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋殷都地區(qū)。
初看schema的配置方式就覺得Spring2.0應該是用AutoProxyCreator來實現的。經過調看src,發(fā)現果然如此;同時關注了下order的實現,期望新引入的aspect和原來的advisor能并行。
(理論應該如此,可實際上Spring2.0發(fā)布的時候aspect并沒有實現order,然后我的myeclipse的xml編輯器好像用了最新的 aop schema,導致我寫xml的時候是可以寫order,我還暗喜,然后運行就出錯了~~;然后去了Spring官網,看看是不是schema的問題;看了Spring2.0.7的changelog后發(fā)現這個特性才加上~~~bug!?。〔还茉趺凑f,現在是好了,所以切記,整數的release版本是很危險的)Spring2.0.7以后修復/添加了order屬性,使得aspect和advisor都能很好的并存,對Spring來說都是 advisor/advice 拉 ^_^ 。
看了Spring2.0.7后發(fā)現aop那塊的代碼在Spring2.0到Spring2.0.7中大改了,有一個原來用來加載aop config的類都沒有了(或者是改名了)~~?,F在的aop實現基本上是這樣:
AspectJAwareAdvisorAutoProxyCreator 作為啟用的默認AutoProxyCreator(如果你使用了的話AutoProxyCreator會換成 AnnotationAwareAspectJAutoProxyCreator)不過其實只是添加了搜索bean中標記了@Aspect的實例作為可用的advisor而已;order的排序方式好像也有改動,現在的排序沒有什么問題。
性能上,由于采用了單一的AspectJAwareAdvisorAutoProxyCreator ,作為唯一的advisor配置庫,在其中進行advisor的排序,所以再多的切面也只需要實例化一個bean的對象,切面在一個層次上進行,看似沒有以前那么臃腫拉 ????
Spring2.0的aop配置比較集中,很清晰,也很簡單。
【編輯推薦】

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流