springboot注解 白话(Spring Boot 3.0 正式发布,王炸!!)
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 的最新版本支持情况:
版本 发布时间 停止维护时间 停止商业支持 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 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技术栈第一时间推送 。
版权声明: 本文系公众号 "Java技术栈" 原创 ,转载 、引用本文内容请注明出处,抄袭 、洗稿一律投诉侵权 ,后果自负 ,并保留追究其法律责任的权利 。
近期热文推荐:
1.1,000+ 道 Java面试题及答案整理(2022最新版)
2.劲爆!Java 协程要来了 。 。 。
3.Spring Boot 2.x 教程 ,太全了!
4.别再写满屏的爆爆爆炸类了 ,试试装饰器模式 ,这才是优雅的方式!!
5.《Java开发手册(嵩山版)》最新发布 ,速速下载!
觉得不错 ,别忘了随手点赞+转发哦!
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!