<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Spring AOP應(yīng)該用到Spring MVC上不起作用?

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

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

    后來,我做了一個實驗。通過IOC將一個業(yè)務(wù)對象注入Controller中,然后將AOP配置成作用于該業(yè)務(wù)對象的方法上,結(jié)果還是不起作用。 我?guī)缀踉囼灹怂械腟pring AOP和AspectJ的實現(xiàn)和配置方法,都不起作用。后來我用同樣的類方法和同樣的配置方式,寫了一個脫離了Spring MVC的測試程序,一切正常,切面能夠起到作用。

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

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

    轉(zhuǎn)自http://www.javaeye.com/problems/20363

    評論

    # re: Spring AOP應(yīng)該用到Spring MVC上不起作用?  回復(fù)  更多評論   

    2011-11-29 12:04 by niuxiaohao
    經(jīng)試驗,確實在spring control上aop不起作用,但是通過IOC將一個業(yè)務(wù)對象注入Controller中,AOP作用于該業(yè)務(wù)對象,是可以的
    主站蜘蛛池模板: 亚洲中文字幕乱码熟女在线| 国产亚洲视频在线播放大全| 四虎成人精品一区二区免费网站| 午夜亚洲国产理论片二级港台二级| 一本色道久久88亚洲综合| 免费91最新地址永久入口| 国产成人yy免费视频| 久久人午夜亚洲精品无码区| 国产亚洲一区二区三区在线观看| 亚洲w码欧洲s码免费| 色多多免费视频观看区一区| 亚洲国产精品一区| 日韩免费的视频在线观看香蕉| 色偷偷亚洲女人天堂观看欧| 亚洲欧洲中文日韩久久AV乱码| 国产成人精品免费视频动漫| 日韩免费在线中文字幕| 亚洲国产精品乱码在线观看97| 亚洲无码日韩精品第一页| 免费观看的毛片大全| 两个人的视频www免费| 亚洲区日韩精品中文字幕| 亚洲第一精品福利| 亚洲国产成人VA在线观看| 国产麻豆视频免费观看| 99精品视频在线观看免费| 亚洲成a∨人片在无码2023| 亚洲午夜未满十八勿入| 亚洲AV无码乱码在线观看性色扶 | 久久国产精品免费观看| 国产亚洲美女精品久久久久| 亚洲剧场午夜在线观看| 日韩亚洲欧洲在线com91tv| 亚洲国产激情一区二区三区| 免费观看AV片在线播放| 4444www免费看| 无人在线观看免费高清| 一级黄色免费大片| 立即播放免费毛片一级| 在线观看日本亚洲一区| 亚洲一级大黄大色毛片|