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?
Antworten:
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. :) :)
Durch Hinzufügen dieser Anmerkung zu einer @ Configuration-Klasse wird die Spring MVC-Konfiguration aus WebMvcConfigurationSupport importiert
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
.