113

以下依赖项之间有什么区别?

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>

对比

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>3.1.2.RELEASE</version>
</dependency>

如果我spring-webmvc单独包含,则spring-web隐式添加。

我们什么时候应该spring-web单独使用?

4

2 回答 2

148

spring-web提供核心 HTTP 集成,包括一些方便的 Servlet 过滤器、Spring HTTP Invoker、与其他 Web 框架和 HTTP 技术(例如 Hessian、Burlap)集成的基础设施。

spring-webmvc是 Spring MVC 的一个实现。spring-webmvc 依赖于spring-web因此包括它会传递添加spring-web。您不必spring-web显式添加。

spring-web如果您不使用 Spring MVC 但希望利用 Spring 支持的其他与 Web 相关的技术,则应该仅依赖于此。

于 2012-11-23T17:53:26.837 回答
9

来自官方文档: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

于 2019-05-07T08:38:13.060 回答