如何在Spring 4.1.4中取消注册Jaxb2RootElementHttpMessageConverter?

时间:2015-02-10 18:25:40

标签: spring-mvc jaxb2

有没有办法在Spring 4.1.4中取消注册Jaxb2RootElementHttpMessageConverter?

谢谢,

Tonté

1 个答案:

答案 0 :(得分:0)

请勿在配置中使用<mvc:annotation-driven/>标记,因为此配置会告知spring自动使用预配置的消息转换器。发生这种情况时,如果jaxb库位于类路径上,则会自动注册Jaxb2RootElementHttpMessageConverter。默认情况下将注册Jaxb2RootElementHttpMessageConverter,因为jab库附带JDK 6及更高版本。要取消注册Jaxb2RootElementHttpMessageConverter,您必须在删除配置中的<mvc:annotation-driven/>标记后手动配置MarshallingHttpMessageConverter,然后手动配置RequestMappingHandlerAdapter,如下所示:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
    <property name="messageConverters" ref="messageConvertersList"/>
</bean>

确保Jaxb2RootElementHttpMessageConverter不在您的转换器列表中。