Spring MVC: отключить DefaultAnnotationHandlerMapping - PullRequest
5 голосов
/ 04 июня 2010

Я использую Spring MVC с <mvc:annotation-driven />

Я реализовал свой собственный обработчик отображения, расширяющий DefaultAnnotationHandlerMapping, но я не уверен, как его использовать. Я объявил это так:

<bean class="es.kcsolutions.boulevard.DispatcherMappingHandler" />

Это работает, но, очевидно, DefaultAnnotationHandlerMapping работает тоже и всегда перед моим. Есть ли способ отключить его и использовать только мой?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 05 июня 2010

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

Итак, возьмите его, объявите свой собственный DefaultAnnotationHandlerMapping бин, и он должен работать. Нет необходимости возиться с заказом в 99,9% случаев.

0 голосов
/ 04 июня 2010

Если вы удалите какие-либо явные объявления DefaultAnnotationHandlerMapping, то ваш собственный преобразователь должен заменить его в диспетчере. (согласно javadoc ) Если вам нужно / нужно более одного сопоставления, вы можете управлять ими, устанавливая их свойство Order. Номера младших разрядов выполняются первыми.

<bean class="es.kcsolutions.boulevard.DispatcherMappingHandler">
<property name="order" value="0"/>
</bean>

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="order" value="1"/>
</bean>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...