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

简介: Spring Boot 3.0 正式发布,王炸!!

pring Boot 3.0 正式发布

大家好,我是栈长。


Spring Boot 3.0 正式发布了:


image.png


同时发布更新的还有 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 项目:


image.png


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 的最新版本支持情况:


image.png

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 干货,关注公众号Java技术栈第一时间推送。



相关文章
|
存储 网络协议 中间件
信管知识梳理(二)常规信息系统集成技术
国际标准化组织(ISO)提出的网络体系结构模型,也叫做开发系统互连参考模型(OSI/RM),通常叫做OSI参考模型
1043 1
信管知识梳理(二)常规信息系统集成技术
|
Java Linux 网络安全
【Linux环境】Centos 7启动jar包的详细步骤
【Linux环境】Centos 7启动jar包的详细步骤
639 0
|
6月前
|
人工智能 IDE 开发工具
JetBrains Rider 2025.1 发布 - 快速且强大的跨平台 .NET IDE
JetBrains Rider 2025.1 (macOS, Linux, Windows) - 快速且强大的跨平台 .NET IDE
325 29
JetBrains Rider 2025.1 发布 - 快速且强大的跨平台 .NET IDE
|
5月前
|
消息中间件 缓存 NoSQL
基于Spring Data Redis与RabbitMQ实现字符串缓存和计数功能(数据同步)
总的来说,借助Spring Data Redis和RabbitMQ,我们可以轻松实现字符串缓存和计数的功能。而关键的部分不过是一些"厨房的套路",一旦你掌握了这些套路,那么你就像厨师一样可以准备出一道道饕餮美食了。通过这种方式促进数据处理效率无疑将大大提高我们的生产力。
191 32
|
4月前
|
安全 Linux 定位技术
解决CentOS中挂载/dev/mapper/centos-root到sysroot失败的问题
记住,在攀爬这座挂载的高峰时,细心和耐心是你最好的朋友。不要走捷径,不要惧怕其中的复杂性,一步一个脚印地检查每个环节,最后达到山顶的那一刻,系统平稳地响应你的每条指令,你会发现这一切努力都是值得的。
186 4
|
9月前
|
运维
HTTPS 证书自动化运维:https证书管理系统之自动化签发
通过访问【https://www.lingyanspace.com】注册账户,进入证书服务菜单并新增证书。填写域名(单域名、多域名或泛域名),创建订单后添加云解析DNS记录进行质检。确认完成后可下载证书,并支持后续查看、更新和定时更新功能。证书过期前15天自动更新,需配置邮箱接收通知。
HTTPS 证书自动化运维:https证书管理系统之自动化签发
|
10月前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
存储 缓存 NoSQL
Redis过期Key的清理机制
Redis过期Key的清理机制
261 1
|
JSON 前端开发 Java
SpringBoot后端接口请求参数映射方式详解
SpringBoot后端接口请求参数映射方式详解
1140 0
|
C# 图形学 数据安全/隐私保护
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件