gpt4 book ai didi

java - Spring MVC注释错误 "No adapter for handler - Does your handler implement a supported interface like Controller?"

转载 作者:行者123 更新时间:2023-12-02 00:50:53 36 4
gpt4 key购买 nike

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

我想使用新的注释 Controller 。我在某种程度上发现它非常灵活并且可以满足我的其他需求。

我的问题是,我似乎无法将它们两者混合在一起。

<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

当我运行应用程序并点击主页时,出现以下错误:

javax.servlet.ServletException: No adapter for handler [com.test.web.HomeController@cca07b]: Does your handler implement a supported interface like Controller?

我不确定,但我认为有些事情是矛盾的。这是一个相当大的 Spring MVC 应用程序,我不想更改那些已经使用旧的 Spring Base Controller 工作的模块。

我的目标是仅在我的新增强功能上使用注释 Controller 。

最佳答案

您不需要声明 DefaultAnnotationHandlerMappingAnnotationMethodHandlerAdapter。上下文默认注册了这些,以及旧式 Controller 的适配器。

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

关于java - Spring MVC注释错误 "No adapter for handler - Does your handler implement a supported interface like Controller?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3205313/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com