web-dev-qa-db-fra.com

EnableWebMvc signification des annotations

Je lis javadoc à propos de @EnableWebMvc.

Mais je ne comprends pas ce que cette annotation signifie?

Pouvez-vous l'expaliner clairement?

67
user2740224

Lorsque vous utilisez Java (par opposition à XML) pour configurer votre application Spring, @EnableWebMvc est utilisé pour activer Spring MVC. Si vous n'êtes pas déjà familiarisé avec le support de Spring pour la configuration de Java, c'est un bon point de départ) .

@EnableWebMvc est équivalent à <mvc:annotation-driven /> en XML. Il active le support pour @Controller- classes annotées utilisant @RequestMapping pour mapper les demandes entrantes à une certaine méthode. Vous pouvez lire des informations détaillées sur ce qu’il configure par défaut et sur la façon de personnaliser la configuration dans documentation de référence .

93
Andy Wilkinson

Bienvenue dans le monde du printemps. Vous devez comprendre quelque chose avant de savoir en quoi consiste l'annotation @EnableWebMVC veux dire.

Spring supporte traditionnellement deux types de configurations:

Ces annotations sont essentiellement implémentées dans le cadre de MVC Java Config Design .

Considérons un cours simple:

@EnableWebMvc
@Configuration
public class WebConfig {
}

Il n'y a pas de classes de base. Pas de haricots de printemps en vue .. Hmmm ..

Allons un peu plus loin:

  • Qu'est-ce que cela fournit réellement ..?

Eh bien, pour vous ennuyer un peu plus, cela fournit beaucoup de choses comme:

  1. @ traitement de demande MVC
  2. validateur global JSR-3

et quelques autres.

Ahahah ... Mais votre application fonctionne correctement. Alors, où est la magie ..?

@EnableWebMVC <---- What's behind this..?

C'est derrière ça:

@Retention(RetentionPolicy.RUNTIME)
@Import(DelegatingWebMvcConfiguration.class)
@Target(ElementType.TYPE)
public @interface EnableWebMvc {
}

Vous voyez, maintenant, vous penserez que c'est inutile de se servir de @EnableWebMVC. Est ce que tu préfèrerais:

Vous pouvez lire sur:

J'espère que ça aide. :)

44
user2339071

L'ajout de cette annotation à une classe @Configuration importe la configuration Spring MVC à partir de WebMvcConfigurationSupport

1
Mahibub Nadaf