<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Spring AOP應該用到Spring MVC上不起作用?

    Posted on 2010-01-27 23:53 leekiang 閱讀(3331) 評論(1)  編輯  收藏 所屬分類: spring
    我最近在開發一個使用Spring MVC的Web程序時遇到了一個奇怪的問題:自己寫的Spring AOP切面對Controller中的方法切點不起作用。

    后來我查了一下,Spring對自己的MVC(Controller)有特殊的攔截方法,需要在URLHandlerMapping中配置 Interceptor實現,它可以對請求進行攔截。因此直接用Spring AOP切面攔截Controller中的任何方法都是不起作用的。(具體的實現過程我不是很清楚,但是很多文章和貼子表達的意思是這樣的)

    后來,我做了一個實驗。通過IOC將一個業務對象注入Controller中,然后將AOP配置成作用于該業務對象的方法上,結果還是不起作用。 我幾乎試驗了所有的Spring AOP和AspectJ的實現和配置方法,都不起作用。后來我用同樣的類方法和同樣的配置方式,寫了一個脫離了Spring MVC的測試程序,一切正常,切面能夠起到作用。

    如果說Spring AOP對Spring MVC的Controller的方法不起作用,難道對注入到Controller的類方法也不起作用嗎???我想得到一個準確的答案,謝謝!!! (bryantd)

    我對Spring的MVC并不是很熟,不過剛才仔細看了一下源碼,我覺得應該之所以Spring的AOP沒有對Controller應用成功的原因 是:Spring MVC在啟動的時候會根據處理器策略加載handler映射到一個map中,這個時候因為配置的原因它從容器中取到的對象是原生對象,而不是我們代理的對 象;所以不管我們的Controller做了什么操作都不會經過我們的代理,這樣AOP就失去了作用;獲取handler的方法應該是 DefaultListableBeanFactory的getBeanNamesForType方法;這是我自己在查看源碼后總結出來的,如果有什么不 對的地方大家討論下? (layer555)

    轉自http://www.javaeye.com/problems/20363

    評論

    # re: Spring AOP應該用到Spring MVC上不起作用?  回復  更多評論   

    2011-11-29 12:04 by niuxiaohao
    經試驗,確實在spring control上aop不起作用,但是通過IOC將一個業務對象注入Controller中,AOP作用于該業務對象,是可以的
    主站蜘蛛池模板: 亚洲人成色77777在线观看| 免费吃奶摸下激烈视频| 国产成人无码综合亚洲日韩| 精品国产日韩久久亚洲| 国产无遮挡裸体免费视频在线观看| 在线A级毛片无码免费真人 | 亚洲视频一区在线| 花蝴蝶免费视频在线观看高清版| 亚洲M码 欧洲S码SSS222| 国产AV无码专区亚洲AV蜜芽| 岛国片在线免费观看| 亚洲一区中文字幕在线观看| 国产香蕉免费精品视频| 色婷婷六月亚洲婷婷丁香| 久久精品乱子伦免费| 久久久久亚洲av无码专区| 最近中文字幕完整免费视频ww| 亚洲国产一区二区a毛片| 亚洲电影在线免费观看| 亚洲综合色区中文字幕| 国产一区二区三区免费视频 | 亚洲人JIZZ日本人| 成全视频免费观看在线看| 精品日韩亚洲AV无码| 免费做爰猛烈吃奶摸视频在线观看 | xxxxx做受大片视频免费| 国产偷国产偷亚洲高清日韩| 久久成人免费大片| 亚洲五月综合缴情婷婷| 国产区卡一卡二卡三乱码免费| 羞羞漫画小舞被黄漫免费| 亚洲日韩精品一区二区三区 | 猫咪社区免费资源在线观看| 国产亚洲精品91| 亚洲精品高清国产一久久| 在线观看成人免费| 国产自国产自愉自愉免费24区 | 亚洲人成网站免费播放| 亚洲精品少妇30p| 国内一级一级毛片a免费| 中文字幕版免费电影网站|