2010-06-04 1 views
5

Ich verwende Spring MVC mit <mvc:annotation-driven />Spring MVC: deaktivieren DefaultAnnotationHandlerMapping

ich meine eigenen Mapping-Handler erstreckt DefaultAnnotationHandlerMapping implementiert habe, aber ich bin nicht sicher, wie es zu benutzen. Ich habe es wie folgt erklärt:

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

Es funktioniert, aber offensichtlich DefaultAnnotationHandlerMapping funktioniert auch und immer vor mir. Gibt es eine Möglichkeit, es zu deaktivieren und nur meine zu verwenden?

Danke.

Antwort

3

Mein Rat wäre, die <mvc:annotation-driven /> insgesamt zu entfernen. Es macht nicht wirklich etwas besonders nützlich - die meisten Bohnen, die es erklärt, sind schon da. Und in Fällen, in denen Sie ein eigenes Handler-Mapping oder einen eigenen Handler-Adapter deklarieren möchten, stört dies nur.

Also nimm es raus, deklariere deine eigene DefaultAnnotationHandlerMapping Bean, und es sollte funktionieren. Keine Notwendigkeit, in 99,9% der Fälle Ordnung zu schaffen.

-1

Wenn Sie explizite Deklarationen von DefaultAnnotationHandlerMapping entfernen, soll Ihr benutzerdefinierter Mapper sie im Dispatcher ersetzen. (nach) Wenn Sie mehr als ein Mapping benötigen/wollen, dann steuern Sie sie, indem Sie ihre Order-Eigenschaft festlegen. Niedrigere Bestellnummern werden zuerst ausgeführt.

<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 hat keine Order-Eigenschaft für seinen Konstruktor –