以下依赖项之间有什么区别?
<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>
如果我单独包括spring webmvc,则隐式添加spring web。
我们什么时候应该单独使用sping-web
?
来自官方文档:spring web模块提供了基本的面向web的集成功能,例如多部分文件上载功能,以及使用Servlet侦听器和面向web的应用程序上下文初始化IoC容器。它还包含一个HTTP客户端和Spring远程处理支持的web相关部分。
spring webmvc模块(也称为Web Servlet模块)包含spring的模型视图控制器(MVC)和用于Web应用程序的REST Web服务实现。Spring的MVC框架在域模型代码和web表单之间提供了清晰的分离,并与Spring框架的所有其他功能集成。
spring-webmvc-portlet模块(也称为Web-Portlet模块)提供了在Portlet环境中使用的MVC实现,并反映了基于Servlet的spring-webmvc模块的功能。
https://docs.spring.io/spring/docs/4.3.22.RELEASE/spring-framework-reference/htmlsingle/#overview-web
spring-web
提供核心HTTP集成,包括一些方便的Servlet过滤器、Spring HTTP Invoker、与其他Web框架和HTTP技术集成的基础设施,例如Hessian、Burap。
spring-webmvc
是Spring MVC的实现。spring-webmvc
依赖于spring-web
,因此包含它会瞬态添加spring-web
。您不必显式添加spring-web
。
如果您不使用spring MVC,但希望利用spring支持的其他与web相关的技术,那么您应该只依赖spring web。