当前位置: 首页 > article >正文

Spring Framework 的版本历史和JDK、Springboot对应关系

spring 历史版本迭代

在这里插入图片描述

版本版本特性
Spring Framework 1.01. 所有代码都在一个项目中
2. 支持核心功能IoC、AOP
3. 内置支持Hibernate、iBatis等第三方框架
4. 对第三方技术简单封装。如:JDBC、Mail、事务等
5. 只支持XML配置方式。
6.主要通过 XML 配置文件来管理对象和依赖关系,配置工作较为繁琐。
Spring Framework 2.01. 最重要的变化:支持注解配置
2. 增加对ehcache支持
3. 对JMS(Java消息服务)、JMX(Java管理扩展)等支持
4.引入了更多的企业级特性,如声明式事务管理。
5.支持与第三方框架(如 Struts、Hibernate)的更好集成。
6.提供了更多的数据访问支持,如 JdbcTemplate 和 HibernateTemplate。
Spring Framework 3.01. 引入了基于 Java 的配置(@Configuration),作为 XML 配置的替代。
2. 由原来的一个项目拆分成多个子模块。
3. 添加单元测试子模块
4. 大量扩展了注解驱动的开发,使得代码更加简洁。
5. 支持JSR-303/JSR-349 Bean Validation 规范,用于验证模型对象。
6. 强化了对 RESTful Web 服务的支持,引入了 @RestController 和 ResponseEntity。
Spring Framework 4.01. 全面支持Java 8,如 Lambda 表达式和日期/时间 API。
2. 添加二级子项目 Spring MVC ,基于Servlet 3.0开发
3. 提供WebSocket支持。
4. 引入@RestController等注解,增强对Restful的支持。
5. 专注于提升性能和减少内存占用。
6. 更好地适应了多核处理器和高并发环境。
Spring Framework 5.01. 最低环境要求Java 8
2. 日志整合。把原来commons-logging 封装后变为spring-jcl模块
3. 跨域更改。把原来的JSONP支持变更为修改响应头的@CrossOrigin注解。
4. 响应式编程。添加二级子项目WebFlux ,支持Reactor和其他反应式流库。
5. 使用Kotlin(科特林)进行函数式编程
6. 对Java 9及更高版本的支持。
7. 强化了对微服务和云原生应用的支持。
8. 提升了对WebSocket和HTTP/2协议的支持。
Spring Framework 6.01. 最低环境要求Java 17
2. 加强对响应式编程支持。添加子模块spring-r2dbc
3. 取消子模块spring-orm-hibernate
4,只保留spring-orm,只支持Hibernate5。

spring 生态项目有哪些

Spring从最初的一城一池,发展到如今已经发展为一个生态帝国,旗下拥有诸多的子项目,从最基本的Spring Ioc/AOP使用,到安全管理,再到 大数据,Spring已经逐渐的渗入到各个领域。目前,几乎所有JavaWeb相关的开发都可以在Spring中找到合适的方案,为了在开发的时候,防止重造轮子,下边梳理一下Spring的各个子项目,做到心中有数:

子项目名称子项目介绍
Spring IO PlatformSpring IO是可集成的、构建现代化应用的版本平台。Spring IO是模块化的、企业级的分布式系统,包括一系列依赖,使得开发者仅能对自己所需的部分进行完全的部署控制
Spring BootSpring应用快速开发工具,用来简化Spring应用开发过程
Spring XDSpring XD (eXtreme Data,极限数据) 是Pivotal的大数据产品。它结合了Spring Boot和Grails,组成Spring IO平台的执行部分
Spring Cloud为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性Token、全局锁、决策竞选、分布式会话和集群状态)中操作的开发工具。使用Spring Cloud,开发者可以快速实现上述这些模式
Spring Data是为了简化构建基于Spring框架应用的数据访问实现,包括非关系数据库、Map - Reduce框架、云数据服务等;也包含,对关系数据库的访问支持
Spring IntegrationSpring Integration为企业数据集成提供了各种适配器,可以通过这些适配器来转换各种消息格式,并帮助Spring应用完成与企业应用系统的集成
Spring BatchSpring Batch是一个轻量级的完整批处理框架,旨在帮助应用开发者构建一个健壮、高效的企业级批处理应用(这些应用的特点是不需要与用户交互,重复的操作量大,对于大容量的批量数据处理而言,这些操作往往要求较高的可靠性)
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用Spring IoC和AOP功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作
Spring HATEOAS是一个用于支持超文本驱动的REST Web服务的开发库,是HATEOAS的实现。HATEOAS(Hypermedia as the engine of application state)是REST架构风格中最复杂的约束,也是构建成熟REST服务的核心。它的重要性在于打破了客户端和服务器之间严格的契约,使得客户端可以更加智能和自适应性,而REST服务本身的进化和更新也变得更加容易
Spring SocialSpring Social是Spring框架的扩展,用来方便开发Web社交应用程序,可通过该项目来创建与各种社交网站的交互,如Twitter、Facebook、LinkedIn和TripIt等
Spring AMQP是基于Spring框架的AMQP消息解决方案,提供模板化的发送和接收消息的抽象,提供基于消息驱动的POJO。这个项目支持Java和.NET两个版本。Spring Source旗下的Rabbit MQ(Erlang语言开发)就是一个开源的基于AMQP的消息服务器
Spring for AndroidSpring for Android为Android终端开发应用提供Spring的支持,它提供了一个在Android应用环境中工作、基于Java的REST客户端
Spring MobileSpring Mobile是基于Spring MVC构建的,为移动终端的应用开发提供支持。比如,使用Spring Mobile可以在服务器端自动识别连接到服务器的移动终端的相关设备信息,从而为特定的移动终端实现应用定制
Spring Web Flow (SWF)一个建立在Spring MVC基础上的Web页面流引擎。随着其自身项目的发展,Web Flow比原来更为丰富,SWF定义了一种特定的语言来描述页面流。其目标是成为管理Web应用页面流程的最佳方案。当你的应用需要复杂的导航控制,如向导,在一个比较大的事务过程中指导用户经过一连串的步骤的时候,SWF是一个很好的解决方案框架
Spring Web ServicesSpring Web Services (Spring WS) 是基于Spring框架的Web服务框架,主要侧重于基于文档驱动的Web服务,提供SOAP服务开发,允许通过多种方式创建Web服务
Spring LDAPLDAP是一个用于操作LDAP的Java框架,类似于Spring JDBC提供了JdbcTemplate方式来操作数据库。这个框架提供了一个LdapTemplate操作模板,可帮助开发人员简化looking up、closing contexts、encoding/decoding values、filters等操作
Spring Session致力于提供一个公共基础设施会话,支持从任意环境中访问一个会话。在Web环境下支持独立于容器的集群会话,支持可插拔策略来确定Session ID,WebSocket活跃的时候可以简单地保持HttpSession
Spring ShellSpring Shell提供交互式的Shell,用户可使用简单的基于Spring的编程模型来开发命令

Spring 和 JDK版本对应关系

Spring版本JDK版本要求
6.0.x - 6.1.xJDK 17 - 21
5.3.xJDK 8 - 19
5.2.xJDK 8 - 15
5.1.xJDK 8 - 12
5.0.xJDK 8 - 10
4.3.xJDK 6 - 8

Spring 和Springboot 对应关系

以下是常见的 Spring 和 Spring Boot 部分对应关系(并非涵盖所有版本):

Spring Boot 版本Spring 版本
3.2.x6.1.x
3.1.x6.0.x
3.0.x5.3.x
2.7.x5.3.x
2.6.x5.3.x
2.5.x5.3.x
2.4.x5.3.x
2.3.x5.2.x
2.2.x5.2.x
2.1.x5.1.x
2.0.x5.0.x
1.5.x4.3.x

SpringBoot、SpringCloud、SpringCloudAlibab对应版本选择

SpringBoot、SpringCloud、SpringCloudAlibab对应版本选择


http://www.kler.cn/a/407661.html

相关文章:

  • 基于CNN+RNNs(LSTM, GRU)的红点位置检测(pytorch)
  • 【设计模式】设计模式概览
  • 3D建筑模型的 LOD 规范
  • 数据结构(初阶6)---二叉树(遍历——递归的艺术)(详解)
  • “AI玩手机”原理揭秘:大模型驱动的移动端GUI智能体
  • Maven maven项目构建的生命周期 Maven安装配置 IDEA 配置 Maven
  • 数据预处理——相关性分析详解
  • 实验室管理流程优化:Spring Boot技术实践
  • 数据结构第一讲
  • windows C#-取消任务列表(上)
  • 解决前端页面报错:Not allowed to load local resource
  • Linux高阶——1123—
  • 恋爱通信史之身份验证和不可抵赖性
  • MySQL--库的操作
  • SpringCloud处理Websocket消息过长自动断开连接
  • Quivr - 用 AI 构建你的第二大脑
  • 网络安全服务人才发展路线图
  • Spring Boot OA:企业数字化转型的利器
  • Python小白学习教程从入门到入坑------习题课5(基础巩固)
  • MS16-075(烂土豆)
  • Selenium+Java(19):使用IDEA的Selenium插件辅助超快速编写Pages
  • Windows11笔记本装windows10
  • PCA9685的配置学习
  • 计算机网络期末试题及答案(整理)
  • 聚焦AI存储,联想凌拓全力奔赴
  • Mysql的事务隔离机制及其脏读、不可重复读、幻读