¿Cuál es la diferencia entre las siguientes dependencias?
<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>
Si incluyo spring-webmvc
solo, entonces spring-web
se agrega implícitamente.
¿Cuándo debemos usar spring-web
solo?
spring
maven
spring-mvc
Mahendran
fuente
fuente
spring-webmvc
inturn agregaspring-web
, pero digamos que si tiene la versión de spring-webmvc como 4.0.2 y agrega otra dependencia, digamos laswagger-springmvc
versión de 0.8.8, entonces agrega laspring-web
versión de 3.2.x. En este caso, es posible que obtenga excepciones de clase no encontrada, por lo que aquí debe agregar explícitamente unaspring-web
versión como 4.0.2. Me encontré con esto hoyspring-web
dependencia transitiva enswagger-springmvc
Del documento oficial: el módulo spring-web proporciona funciones básicas de integración orientadas a la web, como la funcionalidad de carga de archivos de varias partes y la inicialización del contenedor de IoC utilizando oyentes de Servlet y un contexto de aplicación orientado a la web. También contiene un cliente HTTP y las partes relacionadas con la web del soporte remoto de Spring.
El módulo spring-webmvc (también conocido como módulo Web-Servlet) contiene la implementación del modelo-vista-controlador (MVC) y los servicios web REST de Spring para aplicaciones web. El marco MVC de Spring proporciona una separación limpia entre el código del modelo de dominio y los formularios web y se integra con todas las demás características del marco Spring.
El módulo spring-webmvc-portlet (también conocido como módulo Web-Portlet) proporciona la implementación MVC que se utilizará en un entorno Portlet y refleja la funcionalidad del módulo spring-webmvc basado en Servlet.
https://docs.spring.io/spring/docs/4.3.22.RELEASE/spring-framework-reference/htmlsingle/#overview-web
fuente