Spring、Spring Boot 和 Spring MVC 都是Spring框架的一部分,是用于构建基于Java的企业应用程序的综合性框架:
1. Spring:
用途:Spring 是一个开发应用框架,提供基础设施支持,用于开发Java应用程序。
特点:
- 控制反转(IoC): 通过管理Java对象的生命周期和配置,允许创建松散耦合的组件。
- 依赖注入(DI): 提供一种将依赖注入到组件中的方式,促进模块化和可维护的代码。
- 面向切面编程(AOP): 允许模块化处理横切关注点,如日志记录和事务管理。
2. Spring Boot:
用途:Spring Boot 是对 Spring的封装,为了简化 Spring 应用开发,在中小型企业没有成本研究自己的框架,使用 Spring Boot 就能快熟搭建框架,减低开发成本,让开发人员更加专注于 Spring应用的开发,无需过多关注XML的配置和一些底层实现。
特点:
- 约定优于配置: 通过默认值和约定进行快速开发,无需大量配置。
- 嵌入式服务器: 包括嵌入式服务器(如Tomcat、Jetty),可将应用程序部署为独立的JAR文件。
- 自动配置: 根据项目依赖自动配置组件。
3. Spring MVC
用途:Spring框架中的一个模块,用于构建遵循MVC设计模式的Web应用程序。
特点:
- DispatcherServlet: 处理HTTP请求并管理将控制权传递到适当控制器的流程。
- 控制器: 处理用户输入,处理请求并返回适当的模型和视图的组件。
- ViewResolver: 将逻辑视图名称解析为实际视图。
Spring Boot 和Spring MVC 都属于 Spring。Spring Boot是基于 Spring 的快熟开发整合包,而Spring MVC 是 基于 Spring 的一个 MVC 模式构建Web应用程序框架。