乐趣区

关于springboot:Spring-Boot-30-正式发布王炸

Spring Boot 3.0 正式公布

大家好,我是栈长。

Spring Boot 3.0 正式公布了:

同时公布更新的还有 2.7.x 和 2.6.x 两条版本线,Spring Boot 是我见过的发版最守时的技术框架之一。

Spring Boot 3.0 这是一个重大的主版本更新,间隔上一代的 Spring Boot 2.0 的公布曾经过来 4 年多了,Spring Boot 3.0 也是第一个反对 Spring 6.0+ 和 GraalVM 的 Spring Boot 正式版本。

Spring Boot 3.0 重大新个性

时隔四年多,Spring Boot 3.0 这是一个断崖式的版本更新,这四年多的工夫,技术突飞猛进,无疑更新了太多的个性,也修复了海量的 bug 的性能晋升,明天栈长就聊聊 Spring Boot 3.0 的几个重大新个性。

1、最低环境要求

Spring Boot 3.0 最低要求 Java 17,并向上兼容反对 Java 19。

所以,如果你想降级 Spring Boot 3.0,请确保你的 JDK 版本是否符合要求,毕竟当初大部分人还是用的 Java 8,降级 JDK 版本不是一件小事,尽管当初 Java 17+ 是收费应用的,但不确定哪个工夫点会免费,也能够转战 OpenJDK 或者其余开源的 JDK 版本。

另外,Spring Boot 3.0 已将所有底层依赖项从 Java EE 迁徙到了 Jakarta EE API,基于 Jakarta EE 9 并尽可能地兼容 Jakarta EE 10。因为早在几年前 Java EE 曾经正式更名为 Jakarta,所以,所有相干的名称都变了,包含包名,所以应用了 Java EE 的利用改变也不小。

2、大量依赖降级

Spring Boot 3.0 最低反对的 Spring 框架也变成了 Spring 6.0.2+,尽管是框架主动集成依赖的,但须要留神这点,因为前段时间公布的 Spring 6.0 也有不少的底层降级。

除此之外,Spring Boot 治理的大量第三方的技术依赖也有大幅度的的降级,具体能够参考官网版本公布文档:

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

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

3、反对 GraalVM 原生镜像

GraalVM 是 Oracle 在 2018 年公布的一个全新的通用全栈虚拟机,并具备高性能、跨语言交互等逆天个性,不仅反对了 Java、Scala、Groovy、Kotlin 等基于 JVM 的语言,以及 C、C++ 等基于 LLVM 的语言,还反对其余像 JavaScript、Ruby、Python 和 R 语言等。
更多介绍能够参考栈长之前的分享:Oracle 公布了一个全栈虚拟机 GraalVM

Spring Boot 3.0 利用当初能够反对转换为 GraalVM 原生镜像了,这能够提供显著的内存和启动性能改良,能反对 GraalVM 原生镜像也是整个 Spring 产品组合中的一项重大能力的晋升。

Spring Boot 3.0 最低反对 Graal 22.3+ 和 Native Build Tools Plugin 0.9.17+。

Spring Boot 3.0 反对 GraalVM 原生镜像后,它甚至取代了实验性的 Spring Native 我的项目:

Spring Boot 这是向 Oracle GraalVM 抬头了??

对于这个 Spring Native 我的项目,栈长之前还做过两期分享:

王炸!!Spring 终于对 JVM 入手了…
Spring Native 0.10.0 公布,重大突破!!

话说栈长这是做小白鼠了???好好的我的项目,说取代就取代,也没谁了。。要怪就怪它是实验性我的项目吧!

4、进步利用可察看性

Spring Boot 3.0 通过 Micrometer 和 Micrometer 追踪进步利用可察看性,反对集成 Micrometer 1.10+,引入了的全新的可察看 API 并主动配置 Micrometer 追踪,包含对 Brave、OpenTelemetry、Zipkin 和 Wavefront 组件的反对。

应用 Micrometer 可察看 API 时,实现察看后,可将察看数据被动报告给 Zipkin 等组件,并反对自定义追踪参数配置,这个新个性能够更好地帮忙咱们理解并监控利用的健康状况。

Spring Boot 最新反对版本

栈长整顿了 Spring Boot 的最新版本反对状况:

Spring Boot 2.5.x 这条版本线在往年 5 月份曾经进行保护了,收费保护能用的也就 Spring Boot 2.6 及以上的版本了,并且,随着 Spring Boot 3.0 的公布,Spring Boot 2.6.x 也要相继进行保护了,到时能用的就 2.7.x 和 3.0.x 了。

商业反对最低也得 Spring Boot 2.4+,2.4 以下版本没有任何反对了,话说你们用的哪个 Spring Boot 版本呢?

然而,我感觉当初还是会有很多公司大量应用 Spring Boot 2.3 及以下的版本,因为版本更新太快,降级兼容太麻烦了,也怕影响线上业务,公司都是求业务稳固,除非是遇到重大破绽(但也能够增量降级),个别都会激进降级。

之前就有粉丝问公司还用着 1.x 和 2.0.x 及其他低版本的 Spring Boot 有没有问题,这要看状况吧,如果是外部零碎,不提供外网拜访,或者没啥问题,如果是公网零碎,倡议还是应用正在保护的稳固版本。

Spring Boot 当初曾经成为了实事上的脚手架框架了,让学习和开发变得更简略,同时这版本的淘汰节奏也让我感觉技术更新切实太快了,所以咱们也要一直放弃学习,不然也会跟着淘汰。

如果你还没用过 Spring Boot,明天我就送你一份《Spring Boot 学习笔记》这个很全了,包含底层实现原理及代码实战,十分齐全,助你疾速买通 Spring Boot 的各个环节。

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

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

好了,明天的分享就到这里了,后续栈长也会持续关注并分享更多的 Spring Boot 干货,关注公众号第一工夫推送。

退出移动版