Как я могу настроить Jaxb2Marshaller, используемый mvc: annotation-driven - PullRequest
5 голосов
/ 10 января 2011

Я пишу RESTful веб-сервис с использованием JAXB и Spring MVC.В моем контексте Spring заботится о многих полезных вещах для меня, но он регистрирует свой собственный маршаллер JAXB, и я не могу найти способ добавить к нему свойства (например, NamespacePrefixMapper или расположение схемы).

Есть ли способ переопределить маршаллер по умолчанию, настроенный в или установить свойства для него?

1 Ответ

1 голос
/ 10 января 2011

<mvc:annotation-driven> по сути является «макросом», который регистрирует кучу фиксированных опций конфигурации.Вы можете увидеть, что он делает в источнике довольно плотного AnnotationDrivenBeanDefinitionParser класса.

Особый интерес здесь заключается в том, что он регистрирует AnnotationMethodHandlerAdapter и внедряет в него целый ряд компонентов, некоторые из которых выВам понадобится, многие из которых вам не понадобятся.

<mvc:annotation-driven> не предлагает много возможностей для настройки, однако, если вы хотите изменить то, что он делает, вам нужно удалить его изсвой контекст и объявите свой собственный AnnotationMethodHandlerAdapter, настроенный так, как вы хотите.

Маршаллер JAXB вводится в свойство messageConverters AnnotationMethodHandlerAdapter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...