乐趣区

关于java:Spring-Boot-31-正式发布王炸

Spring Boot 3.1 正式公布

大家好,我是 R 哥。

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

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

同时公布更新的还有 2.7.x 版本,同时,R 哥留神到 2.6.x 版本线曾经进行保护了,最新反对版本如下图所示:

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/…

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/…

7、SSL 配置

Java KeyStore 和 PEM 编码证书等 SSL 信赖相干的材料,当初能够应用 properties 属性进行配置,并且能够实用于各种类型的连贯,例如嵌入式 Web 服务器、数据服务、RestTemplate 和 WebClient。

更多参考官网文档:

https://docs.spring.io/spring-boot/docs/3.1.0/reference/html/…

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 开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞 + 转发哦!

退出移动版