2010-06-04 2 views
5

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

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

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

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

Спасибо.

ответ

3

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

Так что вытащите его, объявите свою собственную фасоль DefaultAnnotationHandlerMapping, и она должна работать. Не нужно путаться с заказом в 99,9% случаев.

-1

Если вы выберете какие-либо явные объявления 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> 
+0

DefaultAnnotationHandlerMapping не имеет свойства заказа на свой конструктор –

Смежные вопросы