在dispatcher.xml中不推荐使用DefaultAnnotationHandlerMapping

时间:2015-08-09 09:28:05

标签: jquery json spring mapping dispatcher

org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter已弃用, mvc-dispatcher.xml中的org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping错误。为什么会这样? 请帮帮我吗?

代码如下

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <prop key="saveGeoJSON.html">HspatialController</prop>
        </props>
    </property>
</bean>

DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter是删除线

1 个答案:

答案 0 :(得分:3)

如果您使用的是Spring 3.1及更高版本,则应该用RequestMappingHandlerMappingRequestMappingHandlerAdapter替换这些类。

如果您查看Spring 3.1 reference documentation,您会看到为何不推荐使用这些类:

  

Spring 3.1引入了一组新的处理支持类   带注释控制器的请求:

     

RequestMappingHandlerMapping

     

RequestMappingHandlerAdapter

     

ExceptionHandlerExceptionResolver

     

这些类可替代现有的:

     

DefaultAnnotationHandlerMapping

     

AnnotationMethodHandlerAdapter上

     

AnnotationMethodHandlerExceptionResolver

     

新课程的制定是为了回应许多要求   注释控制器支持更可定制和开放的类   延期。而以前您可以配置自定义注释   控制器方法参数解析器,与您的新支持类   可以自定义任何支持的方法参数的处理或   返回值类型。

     

第二个值得注意的区别是HandlerMethod的引入   抽象来表示@RequestMapping方法。这种抽象   作为处理程序实例,新支持类始终使用它。   例如,HandlerInterceptor可以将处理程序从Object转换为   HandlerMethod并获得对目标控制器方法的访问权限   注释等。

     

MVC命名空间默认启用新类   通过@EnableWebMvc进行基于Java的配置。现有的课程将   继续可用,但建议使用新类   前进。