Frage

Ich bin die Migration von Spring 2.5 Spring 3.

Sie haben <mvc:annotation-driven /> eingeführt, die einige schwarze Magie tut. Dies wird voraussichtlich nur in Servlet-Konfigurationsdatei deklariert werden.

In Spring 2.5 Ich habe gerade verwendet <context:annotation-config /> und <context:component-scan base='...'/> Tags erklärt sowohl in application-context.xml und Dispatcher Servlet-Konfiguration XML mit entsprechenden Basispaketen zu scannen.

Also ich frage mich, was ist der Unterschied zwischen mvc:annotation-driven und context:annotation-config Tags in Servlet-config und was kann ich beseitigen in Spring 3 Konfigurationsdateien?

War es hilfreich?

Lösung

<context:annotation-config> erklärt Unterstützung für allgemeine Anmerkungen wie @Required, @Autowired, @PostConstruct, und so weiter.

erklärt <mvc:annotation-driven /> explizite Unterstützung für Annotation-driven MVC-Controller (dh @RequestMapping, @Controller, obwohl die Unterstützung für alle, die das Standardverhalten), sowie das Hinzufügen der Unterstützung für deklarative Validierung über @Valid und Nachrichtentext Rangierung mit @RequestBody / ResponseBody.

Andere Tipps

Es gibt auch einige weitere Einzelheiten über die Verwendung von <mvc:annotation-driven /> in der Frühling docs . Auf den Punkt gebracht, gibt <mvc:annotation-driven /> Sie eine größere Kontrolle über das Innenleben von Spring MVC. Sie brauchen nicht, es zu benutzen, wenn Sie eine oder mehrere der benötigen Funktionen, die in dem oben genannten Abschnitt der Dokumentation beschrieben.

Auch gibt es andere „Annotation-driven“ Tags in Module andere Spring zusätzliche Funktionen bereitzustellen. Zum Beispiel <transaction:annotation-driven /> die Verwendung der @Transaction Annotation ermöglicht, <task:annotation-driven /> ist erforderlich für @Scheduled et al ...

mvc: Annotation-driven ist ein Tag im Frühjahr 3.0 hinzugefügt, die die folgende tut:

  1. Konfiguriert die Feder 3 Typ ConversionService (alternativ zu PropertyEditors)
  2. Fügt Unterstützung für die Formatierung von Zahlenfelder mit @NumberFormat
  3. Fügt Unterstützung für die Formatierung von Datum, Kalender und Joda Zeitfelder mit @DateTimeFormat, wenn Joda Zeit ist auf dem Classpath
  4. Fügt Unterstützung für @Controller Eingänge mit @Valid Validierung, wenn ein JSR-303-Provider ist auf dem Classpath
  5. Fügt Unterstützung für die Unterstützung für das Lesen und Schreiben von XML, wenn JAXB auf dem Classpath ist (HTTP-Nachrichtenkonvertierung mit @ RequestBody / @ Response)
  6. Fügt Unterstützung für das Lesen und Schreiben von JSON, wenn Jackson ist o n die Classpath (auf der gleichen Linie wie # 5)

Kontext: Annotation-config Sieht aus für Anmerkungen auf Bohnen in der gleichen Anwendungskontext wird definiert und erklärt, die Unterstützung für alle den allgemeinen Anmerkungen wie @Autowired, @Resource, @Required, @PostConstruct etc etc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top