Spring Boot 2 正式停止维护。。再见了,Java 8!!

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

大家好,我是栈长。

没错,就在昨天,Spring Boot 2.x 停止维护了。。

Spring Boot 2 正式停止维护。。再见了,Java 8!!

Spring Boot 最后一个 2.x 的版本 2.7.x 已经停止维护,3.0.x 也停止维护了,商业支持的版本也只有 2.6.x 了,2.5.x 以下的版本彻底退出历史舞台。。

从路线图可以看到每个版本的终止时间,包括最新的 Spring Boot 3.2.0,也会在一年后寿终正寝,所以,Spring Boot 2 的停止维护是预知的必然结果,Spring 团队只会把更多的时间和资源集中在新版本的开发和维护上,这也是为了推动整个 Java 生态系统向前发展。

同时在昨天,Spring Boot 还一次性发布了四个版本:

  • 3.2.0
  • 3.1.6
  • 3.0.13
  • 2.7.18

最新版本如下图所示:

Spring Boot 2 正式停止维护。。再见了,Java 8!!

所以,3.0.13 和 2.7.18 可能是该版本线最后一个版本了,而 2.7.18 则是支持 Java 8 的最后一个版本了。

来看看最新的 3.2.0 新特性!!

Spring Boot 3.2.0 新特性

1、最低环境要求

Spring Boot 3.0.0 开始支持并最低要求 Java 17,Spring Boot 3.1.5 开始支持 Java 21 了。

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

Spring Boot JDK Spring Maven Gradle
3.2.0 17 ~ 21 6.1.1+ 3.6.3+ 7.5+,8.x
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

支持 Java 8 的最后一个 Spring Boot 2.x 系列版本已经退伍啦,Java 17 的新时代到来,如果你还停留在 Java 8 就 OUT 了,过去一年,Java 8 腰斩!Java 17 暴涨 430%!!

栈长制作的《Java 17 新特性实战课》都可以报名学起来,好课不贵,199 元永久学习,如后续出了 Java 21 及更多版本新内容都能免费更新。

2、支持虚拟线程

什么是虚拟线程?

虚拟线程是一种成本低廉、轻量级的用户模式的线程实现,也就是传说中的 “协程”,它可以充分利用可用硬件,大幅减少编写、维护和监测高并发应用的工作量。

我们都知道使用线程是要十分注意的,因为线程的创建、销毁都十分消耗系统资源,所以有了线程池,但这还不够,因为线程的数量是有限的,线程会阻塞操作系统线程,无法尽可能的提高吞吐量。

因为使用线程的成本很高,所以才会有了虚拟线程,它是用户态线程,成本是相当低廉的,调度也完全由用户进行控制(JDK 中的调度器),它同样可以进行阻塞,但不用阻塞操作系统线程,充分提高了硬件利用率,高并发也上了一个量级,从而实现了高吞吐量。

Java 19 初次引入虚拟线程,在 Java 21 中正式转正生产可用。

Spring Boot 3.1.5 做了对 Java 21 的兼容,Spring Boot 3.2.0 正式可以支持 Java 21 中的虚拟线程了,只需要添加以下配置即可:

spring.threads.virtual.enabled = true

具体用法,后续会在我的《Spring Boot 核心技术课》中进行更新。

3、支持 CRaC

Spring Boot 3.2.0 添加了对 CRaC 的初始支持,CRaC 全称为:Coordinated Restore at Checkpoint,这是一个 OpenJDK 支持的项目,它主要处理对 Java 应用程序进行设置检查点(制作图像,快照)而不影响其执行,并能通过检查点进行恢复。

详细介绍如下:

https://openjdk.org/projects/crac/

4、SSL Bundle 重载

当 SSL bundles 相关密钥信息发生变化时,现在可以支持自动重载了。

目前支持 SSL Bundle 重载的 Web 服务器:·

  • Netty web server
  • Tomcat web server

需要在 SSL Bundle 中设置 reload-on-update = true,参考示例如下:

spring.ssl.bundle.pem.mybundle.reload-on-update=true
spring.ssl.bundle.pem.mybundle.keystore.certificate=file:/some/directory/application.crt
spring.ssl.bundle.pem.mybundle.keystore.private-key=file:/some/directory/application.key

文件监视器会监视密钥文件,如果该文件发生变化,SSL Bundle 包将重新加载。

5、可观测性改进

1)现在可以使用 Micrometer 的各种注解,包括:@Timed@Counted@NewSpan@ContinueSpan@Observed 等,如果集成了 AspectJ,这些切面将会自动配置。

2)Micrometer 追踪使用的 ObservationHandler 相关 Beans 现在会自动注册到 ObservationConfig 配置类上。

3)B3 追踪传播的默认格式由 single-no-parent 变更为 single

4)现在已对 @Scheduled 注解的方法进行可观测性支持。

5)现在添加了对 R2DBC 的可观察性支持。

6、更多支持项

Spring Boot 3.2.0 对大量 Spring 库和第三方类库都得到了更新。

还添加对以下技术的支持和改进:

  • RestClient
  • JdbcClient
  • Jetty
  • Spring for Apache Pulsar
  • 添加对 Kafka、RabbitMQ 的 SSL bundle 支持
  • 嵌套 Jar 支持
  • Docker 镜像构建改进

7、变更项

几个重要的变更项:

1)移除 OkHttp 3,并支持 OkHttp 4。

2)参数 management.metrics.tags.management.observations.key-values. 替代。

3)LoggingSystemProperties 和 LogbackLoggingSystemProperties 类中的许多常量被移除,被相关枚举替代。

4)Flyway 参数变更, flyway.oracle*flyway.oracle.* 替代,spring.flyway.sql-server-kerberos-login-filespring.flyway.sqlserver.kerberos-login-file 替代。

5)线程池变更,TaskExecutorBuilder 类被 ThreadPoolTaskExecutorBuilder 类替代,TaskSchedulerBuilder 类被 ThreadPoolTaskSchedulerBuilder 类替代。

更多细节可以参考官方发布说明:

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.2.0-Release-Notes

总结

Spring Boot 这次的变化还挺大的,特别是 Spring Boot 2.x 系列的停止维护,还有 Spring Boot 3.2.0 全新支持虚拟线程的版本。

不管怎么样,还是不要迷恋过去了,所有版本都将是历史,作为一个技术人,我们要向前看,不断更新自己的知识和技能才是最重要的。

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

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

如果你还没用过 Spring Boot,这里推荐下栈长的《Spring Boot 核心技术课》,16 个模块,几乎涉及所有核心技术,包括底层实现原理及代码实战,知识点非常齐全,助你快速打通 Spring Boot 的各个环节。

好了,今天的分享就到这里了,后续栈长也会继续关注并分享更多的 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-747636.html

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

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

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

相关文章

  • 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 版本线了,商业

    2024年02月06日
    浏览(39)
  • Centos 停止维护解决方案

    Centos 停止维护解决方案 停掉的CentOS包含三个版本,即:CentOS 6(2020年11月30日停止更新)、CentOS7(2024年6月30日停止更新)、CentOS 8(2021年底停止更新) CentOS停止更新以后,可以有两大选择,一个是操作系统更换CentOS Stream(免费版不够安全),另一个是直接选用红帽RHEL订阅版(收费

    2024年02月11日
    浏览(38)
  • 维护积极的react native,为什么会有人造谣react native不维护了,停止维护。

            其实近几年我一直关注react -native,他一直更新频繁,0.60大重构,升级了js执行引擎Hermes,当前已经0.70.4版本了。性能越来越提高,但是总感觉到有人在刷百度,只要输入react-native后面就自动提示热搜“react-native 停止维护”,这误导很多人以为真的不维

    2024年02月11日
    浏览(43)
  • CentOS停止维护后,可以替代的新系统

      以前国内运维一般都使用CentOS而不是Debian/Ubuntu作为Linux服务器,因为LTS支持周期,CentOS一般是10年,而Ubuntu免费支持周期只有5年,延长5年则需要额外付费。但CentOS官方将停止维护CentOS 7,CentOS 8了。其中,于2022年01月01日停止维护支持CentOS 8,于2024年06月30日停止维护CentOS 7,

    2024年02月22日
    浏览(49)
  • 聊聊CentOS停止维护,要我说这是件大好事!

    大家好,我是飞哥! 相信大家都听说过CentOS即将停止维护的事。今天就这件事,我来聊聊我的看法。 我认为这在国内的技术圈内是个利大于弊的好消息 。 关于这件事,可能大部分同学还都只是粗浅地吃过1-2次瓜而已,并没有搞懂其中的缘由。其背景是这样的。 在过去的很

    2024年02月10日
    浏览(38)
  • Centos停止维护以后Rocky Linux是最好的替代品

    公众号: MCNU云原生 ,欢迎微信搜索关注,更多干货,及时掌握! 目录 一、Centos Stream不可取 二、Rocky Linux是最好的生产应用替代品 三、个人学习的选择 1、Centos 7/Centos 8 2、Rocky Linux 3、Mint 4、Debian 5、Ubuntu 2020年12月08日,CentOS官方宣布了停止维护CentOS Linux的计划,并推出了

    2024年02月05日
    浏览(50)
  • vue2停止维护,vue3成为新时代宠儿

    从官方发文来看,Vue 2.7 是当前、同时也是最后一个 Vue 2.x 的次级版本更新。Vue 2.7 会以其发布日期,即 2022 年 7 月 1 日开始计算,提供 18 个月的长期技术支持 (LTS:long-term support)。在此期间,Vue 2 将会提供必要的 bug 修复和安全修复,但不再提供新特性。 Vue 2 的终止支持时间

    2024年02月06日
    浏览(54)
  • Java Spring IoC&DI :探索Java Spring中控制反转和依赖注入的威力,增强灵活性和可维护性

    💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录文章:Java Spring IoCDI :探索Java Spring中控制反转和依赖注入的威力,增强灵活性和可维护性 🎉欢迎大家点赞👍评论📝收藏⭐文章 我们一下要学习的内容都是为了实现⾼内聚低耦合来进行的 软件设计原则:⾼内聚低耦合. ⾼内聚指

    2024年04月15日
    浏览(46)
  • 再见RestTemplate,Spring 6.1新特性:RestClient 了解一下!

    在最近发布的Spring 6.1 M2版本中,推出了一个全新的同步HTTP客户端: RestClient 。用一句话来让Spring开发者认识 RestClient 的话:像 WebClient 一样具备流畅API的 RestTemplate 。所以, RestClient 的使命就是淘汰已经有14年历史的 RestTemplate 。 关于 WebClient 和 RestTemplate ,之前在几种服务消

    2024年02月16日
    浏览(32)
  • Springboot实现优雅的参数校验(Spring Validation)和 if else说再见

    当我们想提供可靠的 API 接口,对参数的校验,以保证最终数据入库的正确性,是 必不可少 的活。比如下图就是 我们一个项目里 新增一个菜单校验 参数的函数,写了一大堆的 if else 进行校验,非常的不优雅,比起枯燥的CRUD来说,参数校验更是枯燥。这只是一个创建菜单的

    2023年04月15日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包