Was ist der Unterschied zwischen den folgenden Abhängigkeiten?
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
vs.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
Wenn ich spring-webmvc
alleine einbeziehe, spring-web
wird implizit hinzugefügt.
Wann sollten wir spring-web
alleine verwenden?
quelle
spring-webmvc
inturn fügt hinzuspring-web
, aber wenn Sie die spring-webmvc-Version als 4.0.2 haben und eine weitere Abhängigkeit hinzufügen, sagen wir dieswagger-springmvc
Version 0.8.8, dann fügt sie diespring-web
Version 3.2.x hinzu. In diesem Fall werden möglicherweise Ausnahmen für nicht gefundene Klassenspring-web
angezeigt. Hier müssen Sie also explizit eine Version als 4.0.2 hinzufügen und versionieren. Ich bin heute darauf gestoßenspring-web
Abhängigkeit inswagger-springmvc
Aus dem offiziellen Dokument: Das Spring-Web-Modul bietet grundlegende weborientierte Integrationsfunktionen wie die Funktion zum Hochladen mehrteiliger Dateien und die Initialisierung des IoC-Containers mithilfe von Servlet-Listenern und einem weborientierten Anwendungskontext. Es enthält auch einen HTTP-Client und die webbezogenen Teile der Remoting-Unterstützung von Spring.
Das spring-webmvc-Modul (auch als Web-Servlet-Modul bezeichnet) enthält Spring's Model-View-Controller (MVC) und die REST-Web-Services-Implementierung für Webanwendungen. Das MVC-Framework von Spring bietet eine saubere Trennung zwischen Domänenmodellcode und Webformularen und lässt sich in alle anderen Funktionen des Spring Framework integrieren.
Das spring-webmvc-Portlet-Modul (auch als Web-Portlet-Modul bezeichnet) bietet die MVC-Implementierung für die Verwendung in einer Portlet-Umgebung und spiegelt die Funktionalität des Servlet-basierten spring-webmvc-Moduls wider.
https://docs.spring.io/spring/docs/4.3.22.RELEASE/spring-framework-reference/htmlsingle/#overview-web
quelle