加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – 如果在XML中定义处理程序映射,则不会获取我的@RequestM

发布时间:2020-12-15 01:45:38 所属栏目:大数据 来源:网络整理
导读:我正在使用Spring 3.0.5和 和我的控制器上的@RequestMapping注释.这样可以工作,并且包扫描会注册URL. 但是当我在XML配置中定义了处理程序映射时会出现问题. @RequestMapping注释不再被选中. 我已将问题分离到一个简单的应用程序. 如果我有以下控制器: packa

我正在使用Spring 3.0.5和< context:component-scan>和我的控制器上的@RequestMapping注释.这样可以工作,并且包扫描会注册URL.

但是当我在XML配置中定义了处理程序映射时会出现问题. @RequestMapping注释不再被选中.

我已将问题分离到一个简单的应用程序.

如果我有以下控制器:

package test.pack.age;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestController {
    @RequestMapping(value="/test")
    public String showTestPage() {
        return "testPage";
    }
}

以及以下配置:

应用程序正常工作,URL /测试已注册并正常工作.

18/09/2011  20:02:55    org.springframework.web.servlet.handler.AbstractUrlHandlerMapping   INFO    Mapped URL path [/test] onto handler 'testController'
18/09/2011  20:02:55    org.springframework.web.servlet.handler.AbstractUrlHandlerMapping   INFO    Mapped URL path [/test] onto handler 'testController'

但是如果我添加一个映射到XML的处理程序,它就不再起作用了.即使是这样简单的东西:

它基本上什么都不做,而且< context:component-scan>不再注册我的网址.

我需要为某些(第三方)控制器添加额外的处理程序映射,我无法对其进行注释,但在添加它时会破坏我的所有@RequestMappings.

这是正常的吗?一个bug? (我无法更改Spring版本)

我错过了什么吗?

最佳答案

Is this normal? A bug? (I can’t change the Spring version)

Am I missing something?

我错过了一些东西:D.发现这个埋在Spring的JavaDocs中为DefaultAnnotationHandlerMapping:

NOTE: If you define custom HandlerMapping beans in your DispatcherServlet context,you need to add a DefaultAnnotationHandlerMapping bean explicitly,since custom HandlerMapping beans replace the default mapping strategies.

将此添加到我的配置XML中,现在一切正常:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读