Spring Boot 3.1 正式发布,王炸!!

这篇具有很好参考价值的文章主要介绍了Spring Boot 3.1 正式发布,王炸!!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spring Boot 3.1 正式发布

大家好,我是R哥。

上一篇:Spring Boot 3.0 正式发布,王炸!!

Spring Boot 3.0 发布半年左右,Spring Boot 3.1 正式发布了:

Spring Boot 3.1 正式发布,王炸!!

同时发布更新的还有 2.7.x 版本,同时,R哥注意到 2.6.x 版本线已经停止维护了,最新支持版本如下图所示:

Spring Boot 3.1 正式发布,王炸!!

2.7.x 这也是目前唯一正在维护的 2.x 版本线了,商业支持的版本也只有 2.5.x 了。

如果你还没用过 Spring Boot,这里推荐下R哥的《Spring Boot 3 核心技术与最佳实践》最新书籍,包括底层实现原理及代码实战,知识点非常齐全,助你快速打通 Spring Boot 的各个环节。

Spring Boot 3.0 重大新特性

R哥看了下,Spring Boot 3.1 更新了不少内容,今天R哥就简单分享下几个重要的更新。

1、最低环境要求

Spring Boot 3.0 的发布,其最低要求 Java 17,并向上兼容支持 Java 19,Spring Boot 3.1 可以支持 Java 20 了,因为前段时间 Java 20 发布了。

对 Java 开发环境的要求对比表:

Spring Boot JDK Spring Maven Gradle
3.1.0 17 ~ 20 6.0.9+ 3.6.3+ 7.5+,8.x
3.0.0 17 ~ 19 6.0.2+ 3.5+ 7.5+
2.7.12 8 ~ 20 5.3.27+ 3.5+ 6.8.x, 6.9.x, 7.x, 8.x

2、大量依赖升级

Spring Boot 3.1 最低支持的 Spring 框架也变成了 Spring 6.0.9+,除此之外,Spring Boot 管理的大量第三方的技术依赖也有大幅度的的升级,具体可以参考官方版本发布文档:

https://github.com/spring-projects/spring-boot/releases/tag/v3.1.0

以上这些技术的升级对于 Spring Boot 应用的升级也是一头拦路虎。

3、移除 HttpClient 4

因为 Spring 6 删除了 RestTemplate 对 Apache HttpClient 4 的支持,取而代之的则是 Apache HttpClient 5。

而 Spring Boot 3.0 又同时包含了 HttpClient 4 和 HttpClient 5 两个依赖的管理,如果同时管理这两个版本,有的人可能会继续使用 HttpClient 4,应用程序在使用 RestTemplate 时可能会有潜在的错误,导致诊断困难。

所以,Spring Boot 3.1 移除了 HttpClient 4 的依赖管理,转而逼迫用户强制使用 HttpClient 5,大家有依赖 HttpClient 4 的升级时需要注意了。

4、Servlet 和 Filter 注册失败时抛异常

大家知道,Spring Boot 注册 Servlet 和 Filter 时用的 ServletRegistrationBean 和 FilterRegistrationBean 这两个类,之前注册失败时是记录 warn 级别的日志,现在则是直接抛出 IllegalStateException 异常。

如果不想注册失败抛出异常,还是想像以前一样记录 warn 警告日志,可以调用这两个类的 setIgnoreRegistrationFailure(true) 方法,即忽略注册失败,使用示例如下:

@Bean
public ServletRegistrationBean registerServlet() {
    ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new RegisterServlet(), "/registerServlet");
    servletRegistrationBean.addInitParameter("type", "公众号");
    servletRegistrationBean.addInitParameter("name", "Java技术栈");
    servletRegistrationBean.setIgnoreRegistrationFailure(true);
    return servletRegistrationBean;
}

5、Spring Authorization Server 自动配置

Spring Boot 3.1 提供了一个 spring-boot-starter-oauth2-authorization-server 启动器,可以支持 Spring Authorization Server 的自动配置,轻松配置基于 Servlet 的 OAuth2 授权服务器。

更多参考官方文档:

https://docs.spring.io/spring-boot/docs/3.1.0/reference/html/web.html#web.security.oauth2.authorization-server

6、Docker Compose 新模块

Docker Compose 是一个用于定义和运行多个 Docker 容器的工具,即官方容器编排工具,它可以轻松地定义多个容器之间的依赖关系、环境变量、网络设置等,并通过一个命令即可创建、启动和连接这些容器。

Spring Boot 3.1 提供了一个新模块:spring-boot-docker-compose,它支持与 Docker Compose 集成,当 Spring Boot 应用启动时,它会在当前工作目录中查找配置文件。

支持以下几种配置文件:

  • compose.yaml
  • compose.yml
  • docker-compose.yaml
  • docker-compose.yml

更多参考官方文档:

https://docs.spring.io/spring-boot/docs/3.1.0/reference/html/features.html#features.docker-compose

7、SSL 配置

Java KeyStore 和 PEM 编码证书等 SSL 信任相关的资料,现在可以使用 properties 属性进行配置,并且可以适用于各种类型的连接,例如嵌入式 Web 服务器、数据服务、RestTemplate 和 WebClient。

更多参考官方文档:

https://docs.spring.io/spring-boot/docs/3.1.0/reference/html/features.html#features.ssl

8、服务连接

Spring Boot 3.1 引入了一个新的服务连接概念,这是一个低级别的功能,旨在作为其他高级功能的构建块,这些高级功能可以通过定义 ConnectionDetails Bean 自动配置服务连接。

ConnectionDetails Bean 提供了建立、删除服务连接所需的详细信息,并且 Spring Boot 的自动配置也已经支持,当这些 Bean 可用时,它们将优先于任何与连接相关的配置参数,但是,与连接本身无关的配置参数(比如:控制连接池大小和行为的参数)仍将使用。

Spring Boot 最新支持版本

R哥整理了 Spring Boot 的最新版本支持情况:

版本 发布时间 停止维护时间 停止商业支持
3.1.x 2023-05-18 2024-05-18 2025-08-18
3.0.x 2022-11-24 2023-11-24 2025-02-24
2.7.x 2022-05-19 2023-11-18 2025-02-18
2.6.x 2021-12-17 2022-11-24 2024-02-24
2.5.x 2021-05-20 已停止 2023-08-24
2.4.x 2020-11-12 已停止 2023-02-23
2.3.x 2020-05-15 已停止 已停止
2.2.x 2019-10-16 已停止 已停止
2.1.x 2018-10-10 已停止 已停止
2.0.x 2018-03-01 已停止 已停止
1.5.x 2017-01-30 已停止 已停止

话说你们用的哪个 Spring Boot 版本?

如果你还没用过 Spring Boot,最后推荐下R哥的《Spring Boot 3 核心技术与最佳实践》最新书籍,包括底层实现原理及代码实战,知识点非常齐全,助你快速打通 Spring Boot 的各个环节。

Spring Boot 最新最全的实战代码已上传 Github:

https://github.com/javastacks/spring-boot-best-practice

好了,今天的分享就到这里了,后续R哥也会继续关注并分享更多的 Spring Boot 干货,关注公众号Java技术栈第一时间推送。

版权声明: 本文系公众号 "Java技术栈" 原创,转载、引用本文内容请注明出处,抄袭、洗稿一律投诉侵权,后果自负,并保留追究其法律责任的权利。

近期热文推荐:

1.1,000+ 道 Java面试题及答案整理(2022最新版)

2.劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!文章来源地址https://www.toymoban.com/news/detail-456065.html

到了这里,关于Spring Boot 3.1 正式发布,王炸!!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot 正式弃用 Java 8。。

    大家好,我是R哥。 关注 Spring 框架的都知道,因为 Spring 6.0 要求最低 JDK 17+,所以 Spring Boot 3.0 也必须 JDK 17+ 了 ,但是 3.0 出来的时候,一站式生成项目还是可以选 Java 8 的,如下图所示: 这是 Spring 提供的 一站式生成 Spring 应用的网站 ,这个网站可以帮助开发人员一键生成

    2024年02月04日
    浏览(39)
  • Spring Boot 2 正式停止维护。。再见了,Java 8!!

    大家好,我是栈长。 没错,就在昨天,Spring Boot 2.x 停止维护了。。 Spring Boot 最后一个 2.x 的版本 2.7.x 已经停止维护,3.0.x 也停止维护了,商业支持的版本也只有 2.6.x 了,2.5.x 以下的版本彻底退出历史舞台。。 从路线图可以看到每个版本的终止时间, 包括最新的 Spring Boot

    2024年02月05日
    浏览(58)
  • Spring Cloud Alibaba 2022 正式发布,启动速度提升 10 倍,各方面直接起飞!

    大家好,我是栈长。 经过 Spring Cloud Alibaba 2022 的第一个候选版本 2022.0.0.0-RC1 发布 7 个多月后,中间还有一个 2022.0.0.0-RC2 版本,就在前几天, Spring Cloud Alibaba 2022.0.0.0 正式版 终于正式发布了。 由于 Spring Boot 各个版本之间变化非常大,特别是 Spring Boot 2.4 和 3.0 版本,所以 S

    2024年02月14日
    浏览(47)
  • GPT-4“王炸”发布!1秒生成网站!

    果然,能打败昨天的OpenAI的,只有今天的OpenAI。 刚刚,OpenAI震撼发布了大型多模态模型GPT-4,支持图像和文本的输入,并生成文本结果。 OpenAI老板Sam Altman直接开门见山地介绍说: 这是我们迄今为止功能最强大的模型! 在性能表现上,OpenAI官方直接甩出一句话: 在各种专业

    2024年02月04日
    浏览(39)
  • 微软丢出王炸:微软发布重磅更新Windows Copilot

    在今天凌晨结束的微软 Build 2023 大会上,微软发布了重磅更新Windows Copilot. 微软此前把 GPT-4 接入Office 套件而推出的 Copilot,将全面集成到 Windows 系统。    Windows Copilot 注册直通: https:/forms.office.com/pages/responsepage.aspx?id=v4i5cVGGr0GRay180BHbR54CdsokulNm8L3Fedhou1UNIM5T09YTI04WINPWIFBMIJQSFYXQT

    2024年02月09日
    浏览(46)
  • 【Spring Boot 3】【Redis】消息发布及订阅

    软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花费或多或少的时间、检索不止一篇资料才能得出一个可工作的DEMO,这占用了我大量的时

    2024年01月21日
    浏览(50)
  • Spring Boot整合RabbitMQ之发布与订阅模式

    RabbitMQ的模式中,常用的模式有:简单模式,发布与订阅模式,工作模式,路由模式,主题模式。简单模式不太会运用到工作中,我们可以使用 RabbitMQ 的发布订阅模式,实现: 用户发布动态,其“粉丝”收到其发布动态的消息 用户下订单,库存模块、支付模块等收到消息并

    2024年02月12日
    浏览(41)
  • 用 Docker 构建、运行、发布一个 Spring Boot 应用

    用 Docker 构建、运行、发布一个 Spring Boot 应用 2016-03-20  Docker Spring Boot  Docker Spring Boot 镜像 Docker Hub 本文演示了如何用 Docker 构建、运行、发布来一个 Spring Boot 应用。 Docker 简介 Docker 是一个 Linux 容器管理工具包,具备“社交”方面,允许用户发布容器的 image (镜像),并

    2024年02月11日
    浏览(41)
  • 最新发布 Spring Boot 3.2.0 新特性和改进

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。这个框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 以下是Spring Boot的一些主要特点: 独立运行: Spring Boot应用可以直接打包成可执行的

    2024年02月04日
    浏览(53)
  • Spring Boot - Application Events 的发布顺序_AvailabilityChangeEvent

    Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent Spring Boot 的广播机制是基于观察者模式实现的,它允许在 Spring 应用程序中发布和监听事件。这种机制的主要目的是为了实现解耦,使得应用程序中的不同组件可以独立地改变和复用逻辑,而无需直接进行通信。

    2024年01月22日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包