Spring 4 Migration -ClassCastException:无法强制转换为org.springframework.web.method.HandlerMethod?

时间:2014-01-30 14:32:14

标签: java spring spring-mvc classcastexception spring-4

我从Spring 3.0升级到4.0时遇到此异常

我使用此link

更新了已弃用的类 带有DefaultAnnotationHandlerMapping,AnnotationMethodHandlerAdapter

RequestMappingHandlerMapping ,RequestMappingHandlerAdapter

java.lang.ClassCastException: AuditingController$$EnhancerByCGLIB$$992fb2c8 cannot be cast to org.springframework.web.method.HandlerMethod 

at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)

这是bean定义

<bean name="handlerAdapter"
    class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
            <property name="messageConverters">
        <array>
            ....

           ....
        </array>
    </property>
</bean>

在我的测试用例中调用此函数。

  handlerAdapter.handle(request, response, controller);

调用org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter

return handleInternal(request, response, (HandlerMethod) handler);

这里无法将控制器强制转换为HandlerMethod

1 个答案:

答案 0 :(得分:0)

现在正在工作。正如本link中所述,我需要更新我的控制器测试用例以使用

WebApplicationContext,MockMvc & RequestMappingHandlerAdapter 

而不是

MockHttpServletRequest, MockHttpServletResponse & HandlerAdapter.