2011-01-10 23 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

相關問題