【问题标题】:Spring 4 Rest RequestMappingHandlerAdapter not Saving Configured MessageConvertersSpring 4 Rest RequestMappingHandlerAdapter 不保存配置的 MessageConverters
【发布时间】:2015-02-10 18:16:48
【问题描述】:

我在配置 RequestMappingHandlerAdapter 时遇到问题;在 Spring 4.1.4 Restful WebService 配置中使用。当我配置 RequestMappingHandlerAdapter 消息转换器时,它不使用我配置的消息转换器。我在RequestMappingHandlerAdapter.setMessageConverters(List<HttpMessageConverter<?>> messageConverters) 方法中放置了断点,在应用程序启动时,我看到这个方法被调用了三次。前两次调用此方法时,它具有预先配置的消息转换器,其中之一是 Jaxb2RootElementHttpMessageConverter。第三次,通过 application-context.xml bean 配置使用我手动配置的消息转换器调用此方法。至此,我认为我已经使用自己的配置成功重置了消息转换器;但事实并非如此,因为当我调用 Restful WebService 时,Spring 调用的是 Jaxb2RootElementHttpMessageConverter 而不是我通过 application-context.xml 手动配置的 MarshallingHttpMessageConverter。

所以我需要知道如何:

  1. 如何告诉 Jaxb2RootElementHttpMessageConverter 使用我配置的 JAXB2Marshaller;配置为与 JAXBIntroductions 一起使用,
  2. 在 Spring 4.1.4 中取消注册 Jaxb2RootElementHttpMessageConverter,
  3. 告诉 Spring 4.1.4 当它看到 XML 数据时使用 MarshallingHttpMessageConverter 而不是 Jaxb2RootElementHttpMessageConverter,
  4. 创建我自己的 Jaxb2RootElementHttpMessageConverter 自定义版本,以便我可以为其提供正确的 JAXB2 Marshaller;配置为与 JAXBIntroductions 一起使用,或
  5. 让 RequestMappingHandlerAdapter 只使用我给它的配置。

对于上述五个选项中的任何一个,我们将不胜感激。

谢谢。

汤底

【问题讨论】:

  • 你确定它配置的是同一个实例并且你没有重复吗?

标签: spring rest spring-mvc jaxb2


【解决方案1】:

我也面临同样的问题。 您必须从上下文文件中删除。 即使我们指定了转换器列表,它也会覆盖转换器。

【讨论】:

    【解决方案2】:

    我也面临同样的问题。 您必须从上下文文件中删除 mvcannotationDriven。 即使我们指定了转换器列表,它也会覆盖转换器。

    【讨论】:

      猜你喜欢
      • 2017-11-03
      • 1970-01-01
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 2019-09-30
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      相关资源
      最近更新 更多