0

从 Spring 3.0 升级到 4.0 时出现此异常

我用这个链接更新了不推荐使用的类

DefaultAnnotationHandlerMapping,AnnotationMethodHandlerAdapterRequestMappingHandlerMapping ,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

4

1 回答 1

0

它现在工作。如此链接中所述,我需要更新我的控制器测试用例以使用

WebApplicationContext,MockMvc & RequestMappingHandlerAdapter 

代替

MockHttpServletRequest, MockHttpServletResponse & HandlerAdapter.
于 2015-01-30T19:47:29.023 回答