有没有办法在Spring 4.1.4中取消注册Jaxb2RootElementHttpMessageConverter?
谢谢,
Tonté
答案 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不在您的转换器列表中。