Spring web 与 Spring MVC 的区别

Julywhj 2020-06-09

Spring 的Web层中有4个模块,分别为spring-web, spring-webmvc, spring-websocketspring-webmvc-portlet

spring-web

spring-web 提供了核心的Web相关功能的集成,比如IoC容器的初始化、Web应用上下文(context)的初始化、多部(multipart)文件上传功能、HTTP客户端、Servlet 过滤器、远程调用、用于集成其它 web 框架及技术(如Hessian,Burlap)的基础结构。

spring-webmvc

spring-webmvc 也即 Web-Servlet 模块,它是 Spring MVC 和 REST 的实现(不过奇怪的是,@RestController、@ResponseBody等注解却是放在spring-web模块中的!),并清晰地分离了 domain model 与 web form 的代码。
spring-webmvc 依赖 spring-web,因此引入spring-webmvc 就会间接添加 spring-web,而不必再显式添加 spring-web。

如果不使用 Spring MVC,只是想使用其它 Spring 支持的 web 相关技术的优势,那么只需依赖 spring-web 即可。

spri-webmvc-portlet

spring-webmvc-portlet 模块即 Web-Portlet 模块,它提供用于portlet环境的 MVC 实现,并具有与 spring-webmvc 模块相同的功能。

spring-websocket

如其名称所示,是Spring对websocket的实现。

Spring web 与 Spring MVC 的区别

参考文档:

相关推荐