Ich migriere von Spring 2.5 zu Spring 3.
Sie haben eingeführt, <mvc:annotation-driven />
was etwas schwarze Magie bewirkt. Dies wird voraussichtlich nur in der Servlet-Konfigurationsdatei deklariert.
In Spring 2.5 habe ich soeben sowohl Tags als auch Dispatcher-Servlet-Konfigurations-XML mit geeigneten Basispaketen zum Scannen verwendet <context:annotation-config />
und <context:component-scan base='...'/>
deklariert application-context.xml
.
Ich frage mich also, was der Unterschied zwischen mvc:annotation-driven
und context:annotation-config
Tags in der Servlet-Konfiguration ist und was ich in Spring 3-Konfigurationsdateien beseitigen kann.
quelle
<context:annotation-config>
in jedem Kontext.<mvc:annotation-driven>
ist nicht sinnlos, es ist nur falsch benannt. Tatsächlich konfiguriert es die Unterstützung für neue Spring MVC-Funktionen wie deklarative Validierung mit@Valid
, HTTP-Nachrichtenkonvertierung mit@RequestBody
/@ResponseBody
, neueEs gibt auch einige weitere Details zur Verwendung
<mvc:annotation-driven />
in den Spring-Dokumenten . Kurz gesagt,<mvc:annotation-driven />
bietet Ihnen eine bessere Kontrolle über das Innenleben von Spring MVC. Sie müssen es nur verwenden, wenn Sie eine oder mehrere der im oben genannten Abschnitt der Dokumentation beschriebenen Funktionen benötigen.Es stehen auch andere "annotationsgesteuerte" Tags zur Verfügung, um zusätzliche Funktionen in anderen Spring-Modulen bereitzustellen.
<transaction:annotation-driven />
Ermöglicht beispielsweise die Verwendung der Annotation @Transaction,<task:annotation-driven />
die für @Scheduled et al.quelle
mvc: annotationsgesteuert ist ein in Spring 3.0 hinzugefügtes Tag, das Folgendes ausführt :
context: annotation-config Sucht nach Annotationen für Beans in demselben Anwendungskontext, in dem sie definiert sind, und erklärt die Unterstützung für alle allgemeinen Annotationen wie @Autowired, @Resource, @Required, @PostConstruct usw. usw.
quelle
@Autowired, @Resource, @Required, @PostConstruct
UND@RequestBody, @ResponseBody
- all diese Anmerkungen benötige, muss ich diese beidenmvc:annotation-driven
context:annotation-config
Tags in meine Konfiguration einfügen?