1.Spring Framwork
Spring Framwork的出现改变了Java EE项目的开发方式,为Java 企业应用提供了一套完整的开发与配置模型。核心功能包含依赖注入、事务管理、Web应用、数据访问、消息发送等。
1.1 Spring Framwork的主版本发布时间

1.2 Spring Framwork各个版本重大变化
| 版本 | 版本特性 |
|---|
| 1.x | 1. 所有代码都在一个项目中 2. 支持核心功能IoC、AOP 3. 内置支持Hibernate、iBatis等第三方框架 4. 对第三方技术简单封装。如:JDBC、Mail、事务等 5. 只支持XML配置方式。 |
| 2.x | 1. 最重要的变化:支持注解配置 2. 增加对ehcache支持 3. 对JMS(Java消息服务)、JMX(Java管理扩展)等支持 |
| 3.x | 1. 支持Java类的配置 2. 由原来的一个项目拆分成多个子模块。 3. 添加单元测试子模块 |
| 4.x | 1. 全面支持Java 8 2. 添加二级子项目 Spring MVC ,基于Servlet 3.0开发 3. 提供WebSocket支持。 4. 引入@RestController等注解,增强对Restful的支持。 |
| 5.x | 1. 最低环境要求Java 8 2. 日志整合。把原来commons-logging 封装后变为spring-jcl模块 3. 跨域更改。把原来的JSONP支持变更为修改响应头的@CrossOrigin注解。 4. 响应式编程。添加二级子项目WebFlux 5. 使用Kotlin(科特林)进行函数式编程 |
| 6.x | 1. 最低环境要求Java 17 2. 加强对响应式编程支持。添加子模块spring-r2dbc 3. 取消子模块spring-orm-hibernate4,只保留spring-orm,只支持Hibernate5。 |
1.3 Spring Framwork 各主要版本信息
| 版本 | 支持的JDK版本 |
|---|
| 6.0.x | JDK 17~21 |
| 5.3.x | JDK 8~19 |
| 5.2.x | JDK 8~15 |
| 5.1.x | JDK 8~15 |
| 5.0.x | JDK 8~10 |
| 4.3.x | JDK 6~8 |
2.Spring Boot
Spring Framwork提升了Java EE项目的开发体验,那么Spring Boot则降低了开发生产级Spring应用的门槛。Spring Boot框架有两个非常重要的策略:开箱即用和约定优于配置开箱即用,是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。约定优于配置,是一种由Spring Boot本身来配置目标结构,由开发者在结构中添加信息的软件设计范式。
2.1 Spring Boot各主要版本的信息
| 版本 | 支持的SDK版本 | 对应的Spring Framwork版本 |
|---|
| 3.0.x | JDK 17~21 | 6.0.x |
| 2.7.x | JDK 8~19 | 5.3.x |
| 2.6.x | JDK 8~19 | 5.3.x |
| 2.5.x | JDK 8~19 | 5.3.x |
| 2.4.x | JDK 8~19 | 5.3.x |
3.Spring Cloud
Spring Cloud 构建在Spring Boot提供的各种功能之上。Spring Cloud并不是一个模块,而是一系列模块的集合,它们分别实现了服务发现、配置管理、服务路由、服务熔断、链路追踪等具体的功能。
3.1 Spring Cloud版本对应的Spring Boot版本
| Spring Cloud版本 | Spring Boot版本 |
|---|
| 2023.0.x aka Leyton | 3.3.x, 3.2.x |
| 2022.0.x aka Kilburn | 3.0.x, 3.1.x (Starting with 2022.0.3) |
| 2021.0.x aka Jubilee | 2.6.x, 2.7.x (Starting with 2021.0.3) |
| 2020.0.x aka Ilford | 2.4.x, 2.5.x (Starting with 2020.0.3) |
| Hoxton | 2.2.x, 2.3.x (Starting with SR5) |
| Greenwich | 2.1.x |
| Finchley | 2.0.x |
| Edgware | 1.5.x |
| Dalston | 1.5.x |
3.2 Spring Cloud 部分子模块

4. Spring Data
Spring Data和Spring Cloud一样包含了很多子模块,囊括了JDBC增强功能、JPA支持、不同类型的NoSQL支持以及对REST资源的支持。
4.1 Spring Data 部分子模块
| 项目名 | 功能 |
|---|
| Spring Data Commons | 支持每个Spring Data模块的Core Spring概念 |
| Spring Data JDBC | 对JDBC的Spring Data存储库支持 |
| Spring Data JPA | JPA的 Spring Data存储库支持 |
| Spring Data LDAP | 对Spring LDAP的 Spring Data存储库支持 |
| Spring Data MongoDB | 基于Spring的对象文档支持和MongoDB的存储库 |
| Spring Data Redis | 从Spring应用程序轻松配置和访问Redis |
参考资料
【精选】Spring框架介绍及Spirng各个版本的特性
spring cloud内容汇总(各个功能模块,启动,部署)