Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring MVC注释错误“;处理程序没有适配器-您的处理程序是否实现了类似控制器的受支持接口;_Java_Spring_Spring Mvc - Fatal编程技术网

Java Spring MVC注释错误“;处理程序没有适配器-您的处理程序是否实现了类似控制器的受支持接口;

Java Spring MVC注释错误“;处理程序没有适配器-您的处理程序是否实现了类似控制器的受支持接口;,java,spring,spring-mvc,Java,Spring,Spring Mvc,我有一个用2.5编写的Spring MVC应用程序 我想使用新的注释控制器。我觉得它很灵活,可以满足我的其他需求 我的问题是,我似乎无法将两者混合 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema

我有一个用2.5编写的Spring MVC应用程序

我想使用新的注释控制器。我觉得它很灵活,可以满足我的其他需求

我的问题是,我似乎无法将两者混合

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-2.5.xsd">

    <context:component-scan
            base-package="com.test.web" />

    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

    <!-- Controller Mappings Here -->
    <bean id="homeController" class="com.test.web.HomeController">
        <property name="cacheSeconds" value="120" />
    </bean> 

    //other plain old spring mvc controller

//其他普通老式spring mvc控制器
当我运行应用程序并点击主页时,我发现以下错误:

javax.servlet.ServletException:处理程序[com.test.web]没有适配器。HomeController@cca07b]:您的处理程序是否实现了类似控制器的受支持接口

我不确定,但我认为有些矛盾。这是一个相当大的SpringMVC应用程序,我不想更改那些已经使用旧的SpringBase控制器工作的模块


我的目标是只在我的新增强功能上使用annotation controller。

您不需要声明
DefaultAnnotationHandlerMapping
AnnotationMethodHandlerAdapter
。默认情况下,上下文已注册这些适配器以及旧式控制器的适配器


当您以这种方式显式声明它们时,默认值将被删除,上下文将只支持您声明的值。

您不需要声明
DefaultAnnotationHandlerMapping
AnnotationMethodHandlerAdapter
。默认情况下,上下文已注册这些适配器以及旧式控制器的适配器


当您像这样显式声明它们时,默认的声明将被删除,上下文将只支持您声明的声明。

嗨,Skaffman,我尝试了您的建议,但是当我删除这些声明时,我得到了404。我已经在映射中注释掉了控制器,认为它将自动检测到我的@controller。我忘了提到我的配置文件中仍然配置了SimpleUrlHandlerMapping。我面临着同样的问题。你能找到解决方案吗?嗨,Skaffman,我尝试了你的建议,但当我删除这些声明时,我得到了404。我已经在映射中注释掉了控制器,认为它将自动检测到我的@controller。我忘了提到我的配置文件中仍然配置了SimpleUrlHandlerMapping。我面临着同样的问题。你能找到解决方案吗?