Ich habe Javadoc gelesen @EnableWebMvc
.
Aber ich verstehe nicht, was diese Anmerkung bedeutet?
Können Sie es klar ausdrücken?
Ich habe Javadoc gelesen @EnableWebMvc
.
Aber ich verstehe nicht, was diese Anmerkung bedeutet?
Können Sie es klar ausdrücken?
Wenn Sie zum Konfigurieren Ihrer Spring-Anwendung Java-Code (im Gegensatz zu XML) @EnableWebMvc
verwenden, wird Spring MVC aktiviert. Wenn Sie noch nicht mit der Unterstützung von Spring für die Java-Konfiguration vertraut sind, ist dies ein guter Ausgangspunkt .
@EnableWebMvc
entspricht <mvc:annotation-driven />
in XML. Es ermöglicht die Unterstützung von mit @Controller
Anmerkungen versehenen Klassen, @RequestMapping
mit denen eingehende Anforderungen einer bestimmten Methode zugeordnet werden. Ausführliche Informationen dazu, was standardmäßig konfiguriert wird und wie die Konfiguration angepasst werden kann, finden Sie in der Referenzdokumentation .
To enable auto-detection of such @Controller beans, you can add component scanning
@EnableWebMvc
ist eine@Controller
Bohne nur eine Bohne, kein Controller. Dies gilt unabhängig davon, ob es über das Scannen von Komponenten gefunden oder über eine@Bean
Methode registriert wurde .Willkommen in der Welt des Frühlings. Es gibt etwas, das Sie verstehen müssen, bevor Sie wissen, was die Anmerkung
@EnableWebMVC
bedeutet.Spring unterstützt traditionell zwei Arten von Konfigurationen:
Diese Anmerkungen werden im Wesentlichen als Teil von MVC Java Config Design implementiert .
Betrachten Sie eine einfache Klasse:
@EnableWebMvc @Configuration public class WebConfig { }
Es gibt keine Basisklassen. Keine Frühlingsbohnen in Sicht .. Hmmm ..
Gehen wir noch ein bisschen weiter:
Nun, um Sie ein bisschen mehr zu langweilen, bietet es eine Menge Dinge wie:
und noch ein paar mehr.
Ahahah ... Aber Ihre Anwendung funktioniert richtig damit. Also, wo ist die Magie?
@EnableWebMVC <---- What's behind this..?
Das steckt dahinter:
@Retention(RetentionPolicy.RUNTIME) @Import(DelegatingWebMvcConfiguration.class) @Target(ElementType.TYPE) public @interface EnableWebMvc { }
Sehen Sie, jetzt würden Sie denken, wie sinnlos mit
@EnableWebMVC
. Würdest Du eher:@Bean
und andere verfügbare MethodenSie können nachlesen über:
Ich hoffe es hilft. :) :)
quelle
Durch Hinzufügen dieser Anmerkung zu einer @ Configuration-Klasse wird die Spring MVC-Konfiguration aus WebMvcConfigurationSupport importiert
quelle
Wenn wir ein Spring Web MVC-Projekt erstellen möchten, müssen wir den erforderlichen Import aus hinzufügen. Aus
WebMvcConfigurationSupport
diesem Grund sollten wir ihn@EnableWebMvc
in einer Java-basierten Konfiguration verwenden. Nur eine@Configuration
Klasse darf haben@EnableWebMvc
.quelle