springboot3.0.0ga版本正式发布,期待已久的springboot3发布了

MateCloud微服务 MateCloud微服务     2023-03-31     758

关键词:

期待已久的SpringBoot3.0.0发布了

发布说明


Spring Boot 3.0.0 现已正式发布,此版本包含了 12 个月以来 151 个人的 5700 多次 commit 的工作结晶。这是自 4.5 年前发布 2.0 以来,Spring Boot 的第一次重大修订。它也是第一个支持 Spring Framework 6.0 和 GraalVM 的 Spring Boot GA 版本。

由于这是 Spring Boot 的一个主要版本,因此升级现有应用程序可能比平时更复杂一些。官方整理了一份专门的迁移指南,以帮助升级现有的 Spring Boot 2.7 应用程序。如果你当前运行的是早期版本的 Spring Boot,建议先升级到 Spring Boot 2.7,然后再迁移到 Spring Boot 3.0。

新版本的亮点分析

1. Java 17 baseline 和 Java 19 支持

  • Spring Boot 3.0 要求 Java 17 作为最低版本。如果你当前使用的是 Java 8 或 Java 11,则需要先升级 JDK,然后才能开发 Spring Boot 3.0 应用程序。Spring Boot 3.0 运行良好,并已通过 JDK 19 测试。
  • Spring Boot 需要 Graal 22.3 或更高版本和 Native Build Tools Plugin 0.9.17 或更高版本

2. 支持 GraalVM native images,取代实验性的 Spring Native 项目。

  • Spring Boot 3.0 应用程序现在可以转换为 GraalVM native images,这可以提供显着的内存和启动性能改进。支持 GraalVM Native Images 是整个 Spring 产品组合中的一项重大工程工作。要开始使用 GraalVM native images,可参阅更新后的 Spring Boot 参考文档。

3. 通过 Micrometer 和 Micrometer 跟踪改进可观察性

4. 支持具有 EE 9 baseline 的 Jakarta EE 10

公告称,“再次感谢多年来为 Spring 和 Spring Boot 做出贡献的所有人!支持 Jakarta EE 9 和 10、可观察性增强以及 GraalVM 支持是一项巨大的团队努力,Spring 产品组合的方方面面都未受影响。特别感谢 Spring 组合中其他项目的开发人员,没有他们就不可能有这个版本。”

更多详情可查看 release notes

升级心得

折腾了一天,将两个生产的项目升级了(本来就已经用了2.7.5版本),就目前两个小项目用到的东西说一下要改的东西:

  1. springsecurity的配置需要改一下。
  2. mybatis-plus-3.5.2不支持。但快照版的mybatis-plus-3.5.2.6-SNAPSHOT可以。
  3. druid最新版druid-spring-boot-starter-1.2.15版本可用,但监控界面用不了,怀疑是javax切换到了jakarta的原因
  4. ehcache3,自带的javax.cache.Cache和javax.cache.CacheManager不太好使,xml的配置也不太好用,少了依赖,不想引入jaxb,也不想折腾,换了org.ehcache.Cache和org.ehcache.CacheManager。配置换成了纯代码配置
  5. spring.data.redis的配置文件,结构需要改一下
    我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,

项目推荐

Spring Cloud Alibaba微服务项目:MateCloud, 目前基于SpringBoot 2.7.6,后续会尝试升级3.0.0,当然升级后就得告别JDK1.8和JDK11了。

springboot3.0m1发布,正式弃用java8,最低要求java17。。。(代码片段)

点击关注公众号,Java干货及时送达上一篇:SpringBoot2.6.3发布,一招解决Log4j2、Logback漏洞!!SpringBoot3.0.0-M1SpringBoot近日发布了第一个里程碑版本:SpringBoot3.0.0-M1https://spring.io/blog/2022/01/20/sp 查看详情

springboot3.0.0发布第一个里程碑版本m1,你的java升到17了吗?(代码片段)

2022年1月20日,Spring官方发布了SpringBoot3.0.0的第一个里程碑版本M1。下面一起来来看看SpringBoot3.0.0M1版本都有哪些重大变化: Java基线从Java8提升到了Java17这个在最早的SpringBoot3相关预告中就已经知道了,Java17将成为未来... 查看详情

springboot3.0.0的第一个里程碑版本m1发布

参考技术A2022年1月20日,Spring官方发布了SpringBoot3.0.0的第一个里程碑版本M1。下面一起来来看看SpringBoot3.0.0M1版本都有哪些重大变化:这个在最早的SpringBoot3相关预告中就已经知道了,Java17将成为未来的主流版本。那么问题来了,... 查看详情

springboot3.0m1发布,正式弃用java8,最低要求java17。。。(代码片段)

SpringBoot3.0.0-M1SpringBoot近日发布了第一个里程碑版本:SpringBoot3.0.0-M1https://spring.io/blog/2022/01/20/spring-boot-3-0-0-m1-is-now-available这个版本变动就大了,栈长这篇就给你好好梳理下。最低依赖这个表格是3.0所变动的,其他的要... 查看详情

springboot官宣:正式弃用java8啦(代码片段)

...!这简历一看就是包装的!!Spring官方发布了SpringBoot3.0.0的第一个里程碑版本M1。下面一起来来看看SpringBoot3.0.0M1版本都有哪些重大变化: Java基线从Java8提升到了Java17这个在最早的SpringBoot3相关预告中就已经知道... 查看详情

springboot3.0.0m32.7.0发布,2.5.x将停止维护

昨晚(5月19日),SpringBoot官方发布了一系列SpringBoot的版本更新,其中包括:SpringBoot3.0.0-M3SpringBoot2.7.0SpringBoot2.6.8SpringBoot2.5.14SpringBoot3.0.0-M3此版本包括74个bug修复、文档改进和依赖项升级,其中 查看详情

springboot3.0.0m32.7.0发布,2.5.x将停止维护(代码片段)

昨晚(5月19日),SpringBoot官方发布了一系列SpringBoot的版本更新,其中包括:SpringBoot3.0.0-M3SpringBoot2.7.0SpringBoot2.6.8SpringBoot2.5.14SpringBoot3.0.0-M3此版本包括74个bug修复、文档改进和依赖项升级,其中 查看详情

springboot3.0.0m32.7.0发布,2.5.x将停止维护(代码片段)

昨晚(5月19日),SpringBoot官方发布了一系列SpringBoot的版本更新,其中包括:SpringBoot3.0.0-M3SpringBoot2.7.0SpringBoot2.6.8SpringBoot2.5.14SpringBoot3.0.0-M3此版本包括74个bug修复、文档改进和依赖项升级,其中 查看详情

springboot3.0.0m32.7.0发布,2.5.x将停止维护(代码片段)

...方发布了一系列SpringBoot的版本更新,其中包括:SpringBoot3.0.0-M3SpringBoot2.7.0SpringBoot2.6.8SpringBoot2.5.14SpringBoot3.0.0-M3此版本包括74个bug修复、文档改进和依赖项升级,其中值得注意的新功能包括:MicrometerObservation、Tracin... 查看详情

alpha版和beta版有啥区别

...g.一般只有测试人员使用。Beta:也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。-RC(ReleaseCandidate):最终测试版本;可能成为最终产品的候选版本,如果未出现问题则可发布成为正式版本多数开源软件会推... 查看详情

springboot3.x微服务升级经历(代码片段)

前言SpringBoot3.0.0GA版已经发布,好多人也开始尝试升级,有人测试升级后,启动速度确实快了不少,如下为网络截图,于是我也按捺不住的想尝试下。历程首先就是要把SpringBoot、SpringCloud相关的依赖升一下Spring... 查看详情

软件版本的garc的具体含义

别人的示意图:GAGeneralAvailability,正式发布的版本,官方开始推荐广泛使用,可以GA来表示release版本。RELEASE正式发布版,官方推荐使用的版本,有的用GA来表示。比如spring。Stable稳定版,开源软件有的... 查看详情

软件开发中alphabetarcga版本的含义

GAGeneralAvailability,正式发布的版本,官方开始推荐广泛使用,国外有的用GA来表示release版本。RELEASE正式发布版,官方推荐使用的版本,有的用GA来表示。比如spring。Stable稳定版,开源软件有的会用stable来表... 查看详情

rancherrfo正式ga

...,致力于满足国内更加注重的安全合规标准,对openEulerLTS版本拥有优秀的兼容性。SUSE在欧拉开源社区中 查看详情

nacos发布1.0.0ga版本,可大规模投入到生产环境(代码片段)

经过3个RC版本的社区体验之后,Nacos正式发布1.0.0GA版本,在架构、功能和API设计上进行了全方位的重构和升级。1.0.0版本的发布标志着Nacos已经可以大规模的在生产环境中使用,新版本不仅针对社区的需求和集群的稳定性相应地... 查看详情

软件版本gabetarc含义

...g.一般只有测试人员使用。Beta:也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。RC:(Release Candidate)顾名思义么!用在软件上就是候选版本。系统平台上就是发行候选版本。RC版不会再加入新的功能了,主... 查看详情

社区正式发布了跨平台的corewcf0.2.0

在发布CoreWCF0.1.0GA版本的半年之后,今天正式发布了0.2.0版本,具体说明参看 https://github.com/CoreWCF/CoreWCF/releases/tag/v0.2.0 .NET兼容性此版本依赖于.NETStandard2.0,可在支持.NETStandard2.0的任何.NET版本上运行。这意味着.NETFram... 查看详情

软件开发中alphabetarcga版本的含义

GAGeneralAvailability,正式发布的版本,官方开始推荐广泛使用,国外有的用GA来表示release版本。RELEASE正式发布版,官方推荐使用的版本,有的用GA来表示。比如spring。Stable稳定版,开源软件有的会用stable来表... 查看详情