Question

Je suis émigre du printemps au printemps 2.5 3.

Ils ont introduit <mvc:annotation-driven /> qui fait un peu de magie noire. Cela devrait être déclarée que dans le fichier de configuration servlet.

Au printemps 2.5 Je viens d'utiliser les balises <context:annotation-config /> et <context:component-scan base='...'/> déclaré à la fois dans application-context.xml et XML de configuration de servlet répartiteur avec des packages de base appropriés à analyser.

Alors, je me demande quelle est la différence entre les balises et mvc:annotation-driven context:annotation-config dans la configuration de servlet et que puis-je éliminer au printemps 3 fichiers de configuration?

Était-ce utile?

La solution

<context:annotation-config> déclare support des annotations générales telles que @Required, @Autowired, @PostConstruct, et ainsi de suite.

<mvc:annotation-driven /> déclare support explicite pour les contrôleurs MVC entraîné annotation (c.-à-@RequestMapping, @Controller, bien que l'appui de celles-ci est le comportement par défaut), ainsi que l'ajout du support pour la validation déclarative par triage de corps @Valid et le message avec @RequestBody / ResponseBody.

Autres conseils

Il y a aussi un peu plus de détails sur l'utilisation de <mvc:annotation-driven /> dans la section Spring docs . En un mot, <mvc:annotation-driven /> vous donne un meilleur contrôle sur le fonctionnement interne de Spring MVC. Vous n'avez pas besoin de l'utiliser, sauf si vous avez besoin d'un ou plusieurs des caractéristiques décrites dans la section ci-dessus des docs.

En outre, il existe d'autres balises « conduit annotation » disponible pour fournir des fonctionnalités supplémentaires dans d'autres modules de printemps. Par exemple, <transaction:annotation-driven /> permet l'utilisation de l'annotation @Transaction, <task:annotation-driven /> est nécessaire pour @Scheduled et al ...

mvc: axée sur les annotations est une balise ajoutée au printemps 3.0 qui fait ce qui suit:

  1. Configure le type Spring 3 ConversionService (alternative à PropertyEditors)
  2. Prise en charge Adds pour le formatage des champs numériques avec @NumberFormat
  3. Ajoute le support pour le formatage Date, Calendrier et Joda champs Heure avec @DateTimeFormat, si le temps Joda est sur le chemin de classe
  4. Prise en charge Adds pour valider les entrées @Controller avec @Valid, si un fournisseur JSR-303 est sur le chemin de classe
  5. ajoute le support pour la lecture et l'écriture XML, si JAXB est sur le chemin de classe (la conversion des messages HTTP avec @ RequestBody / @ responseBody)
  6. Ajoute le support pour la lecture et l'écriture JSON, si Jackson est o n classpath (dans le même sens que # 5)

contexte: annotation-config Cherche des annotations sur les haricots dans le même contexte de l'application, il est défini et déclare un soutien pour toutes les annotations générales comme @Autowired, @Resource, @Required, @PostConstruct etc etc

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top