2011-01-10 55 views
5

我正在使用JAXB和Spring MVC编写一个RESTful Web服务。在我的Spring上下文中,我为我处理了大量有用的东西,但它注册了它自己的JAXB编组器,并且我找不到添加属性的方法(如NamespacePrefixMapper或模式位置)。如何配置mvc使用的Jaxb2Marshaller:注解驱动

有没有办法来覆盖默认的编码器配置或设置属性呢?

回答

1

<mvc:annotation-driven>本质上是一个“宏”,它记录了一堆固定的配置选项。你可以看到它在相当密集的AnnotationDrivenBeanDefinitionParser类中的作用。

这里特别感兴趣的是它注册了一个AnnotationMethodHandlerAdapter,并将一系列组件注入其中,其中有些组件需要使用,其中许多组件不会。但是,如果你想改变它的功能,你需要将它从你的上下文中删除,然后声明你自己的AnnotationMethodHandlerAdapter,按照你想要的方式进行配置。

JAXB编组人员被注入到AnnotationMethodHandlerAdaptermessageConverters财产中。

+0

我有点失望,这是这种情况。你可以配置你自己的conversionService,但是你不能配置你的messageConverters? – rjsang 2011-01-12 10:05:50

相关问题