以下依赖项之间有什么区别?
<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
。
我们什么时候应该单独使用spring-web
?
答案 0 :(得分:112)
spring-web
提供核心HTTP集成,包括一些方便的Servlet过滤器,Spring HTTP Invoker,与其他Web框架集成的基础架构和HTTP技术,例如Hessian,Burlap。
spring-webmvc
是Spring MVC的一个实现。 spring-webmvc
上的spring-web
depends on,因此包含它会传递spring-web
。您无需明确添加spring-web
。
如果您不使用Spring MVC但想要利用Spring支持的其他与Web相关的技术,您应该只依赖于spring-web
。
答案 1 :(得分:0)
来自官方文档: spring-web模块提供了基本的面向Web的集成功能,例如多部分文件上传功能以及使用Servlet侦听器和面向Web的应用程序上下文对IoC容器的初始化。它还包含HTTP客户端以及Spring远程支持的Web相关部分。
spring-webmvc模块(也称为Web-Servlet模块)包含Spring的model-view-controller(MVC)和REST Web Services实现的Web应用程序。 Spring的MVC框架在域模型代码和Web表单之间提供了清晰的分隔,并与Spring框架的所有其他功能集成在一起。
spring-webmvc-portlet模块(也称为Web-Portlet模块)提供了可在Portlet环境中使用的MVC实现,并镜像了基于Servlet的spring-webmvc模块的功能。