Spring Boot 3.0.0 GA版本正式发布,期待已久的SpringBoot3发布了

news2025/7/21 21:57:23

期待已久的SpringBoot3.0.0发布了

  • 发布说明
    • 新版本的亮点分析
      • 1. Java 17 baseline 和 Java 19 支持
      • 2. 支持 [GraalVM native images](https://docs.spring.io/spring-boot/docs/3.0.0/reference/html/native-image.html#native-image),取代实验性的 Spring Native 项目。
      • 3. 通过 Micrometer 和 Micrometer 跟踪改进可观察性
      • 4. 支持具有 EE 9 baseline 的 Jakarta EE 10
    • 升级心得
    • 项目推荐

发布说明

在这里插入图片描述
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了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/35686.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux篇【11】:linux下的线程<中序>

目录 一.线程互斥 1.三个概念 2.互斥 (1)在执行语句的任何地方,线程可能被切换走 (3)抢票场景中的问题 (4)解决方案 3.加锁 (1)加锁介绍 (2&#xf…

STC 51单片机39——汇编语言 按钮流水灯

每按一下按钮,灯就移动一个 ORG 0000H LJMP MAIN ORG 0003H ;中断矢量 LJMP INT MAIN:SETB EA ;开总中断允许“开关” SETB EX0 ;开分中断允许“开关” SETB PX0 ;高优先级 SETB IT0 ;边沿触发 MOV A,#0FEH ;给…

Linux系统编程(二)——Linux系统IO函数

在第一篇的时候写到了系统环境的搭建以及各种调试的方法,接下来讲述关于系统函数的使用。 目录 0x01 标准C库IO函数和Linux系统IO函数对比 一、标准C库IO函数操作流程 二、标准C库IO和Linux系统IO的关系 三、虚拟地址空间 0x02 LinuxIO函数实例 一、open()、…

dubbo以xml方式操作和新版dubbo-admin安装

文章目录1 dubbo xml配置1.1 提供者1.1.1 提供者接口1.1.2 提供者实现类1.1.2.1 项目结构图示1.1.2.2 pom.xml1.1.2.3 实现类接口1.1.2.4 配置文件1.1.2.4.1 xml配置1.1.2.4.2 结合注解方式1.1.2.5 启动类1.1.2.5.1 直接读取配置文件1.1.2.5.2 Main.main启动1.1.3 其他方式配置…

最新持续更新Crack:LightningChart 行业使用大全

LightningChart .NET 和 JavaScript 解决方案旨在通过彻底的图表优化、最小的延迟和流畅的呈现来满足行业最苛刻的数据可视化要求。LightningChart .NET 和 JavaScript 直观的 API 使用户能够使用适用于任何桌面、移动和平板设备的鼠标和触摸屏交互功能轻松操作最复杂的图表。 …

JSP JAVA javaweb企业仓库库存管理系统(仓库进销存管理系统ssm库存管理系统仓库管理系统)

JSP 企业仓库库存管理系统(仓库进销存管理系统ssm库存管理系统仓库管理系统)

【附源码】计算机毕业设计JAVA疫情下的进出口食品安全信息管理系统

【附源码】计算机毕业设计JAVA疫情下的进出口食品安全信息管理系统 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&…

Django Cookie 与 Session 对比

文章目录原理比较语法比较Cookie 示例创建 Cookie更新 Cookie删除 CookieSession 示例创建 session查询 session删除一组键值对删除 session参考文档本文通过示例演示 Django 中如何创建、查询、删除 Cookie 与 Session。 原理比较 在Web开发中,使用 session 来完成…

无线监控摄像头使用什么样的物联网卡?

无线监控摄像头使用什么样的物联网卡? 随着安全行业的发展和进步,无线监控摄像头的种类越来越多,但主要的网络形式大致可以分为两种形式,一种是连接WiFi使用远程监控,另一种是插入物联网卡的远程监控。随着物联网的快…

初阶数据结构学习记录——열 二叉树(3)链式

链式二叉树是由指针形成的二叉树,之前写的二叉树是由数组组成的,链式由链表来做。链式二叉树每个节点有两个指针,指向两边。以往二叉树,栈,队列等等都需要增删查改,但链式二叉树则不是这样,是因…

深入理解java虚拟机:虚拟机字节码执行引擎(1)

文章目录1. 概述2. 运行时栈帧结构2.1 局部变量表2.2 操作数栈2.3 动态连接2.4 方法返回地址2.5 附加信息1. 概述 代码编译的结果是从 本地机器码 转变为 字节码 ,是存储格式发展的一小步,却是编程语言发展的一大步。 执行引擎 是Java虚拟机最核心的组…

pmp是什么意思啊?

PMP是一个证书,项目管理类的专业认证考试,从国外引进大陆已经很多年了,反响也不错。 以前,大陆每年报考PMP的人很少,那时的思维观念,更多的认为有了这个PMP证书,代表着你很上进,学习…

Terraform 初始化慢~配置本地离线源

解决Terraform初始化慢~配置本地离线源 - 知乎 这里不再介绍Terraform是啥了,可以参考最近上线的课程。直奔主题,配置一个离线的源。需要手动或者terraform init一次下载, 然后缓存。后续直接使用缓存。 本次实践使用的是Linux/Mac 系统&am…

【App自动化测试】(十二)App异常弹框处理

目录1. app弹框异常处理——递归方式1.1 黑名单弹框异常处理逻辑1.2 实现代码1.3 方法缺点2. app弹框异常处理——装饰器版本2.1 装饰器的优势2.2 实现代码前言: 本文为在霍格沃兹测试开发学社中学习到的一些技术写出来分享给大家,希望有志同道合的小伙伴…

计算机毕业设计之java+ssm交通信息网上查询系统

项目介绍 随着交通交通管理需求和在线交通管理渗透率的提升,中国交通管理在线市场将释放巨大潜力,交通管理系统的建设和发展成为业界广泛关注的重点,本文将对此进行分析,以期为我国交通管理电子商务的发展提供参考。交通管理业对…

石化能源行业工业互联网智能工厂解决方案

随着时代的发展,中国的工业企业逐渐进入了一个“新常态”:生产效率提升,非计划停运或检修造成的生产损失更为昂贵;高盈利的要求,需要更加关注能源使用效率;法律法规对于人员安全及环保合规要求更为严格&…

基于ffmpeg开发的多音频文件音量均衡程序

前言 audio_balance ✨ 基于ffmpeg开发的多音频文件音量均衡程序 ✨ 项目地址 GitHub:https://github.com/Ikaros-521/audio_balance gitee:https://gitee.com/ikaros-521/audio_balance 使用说明 Python:3.9 程序依赖 ffmpeg实现。请先安…

Centernet 生成高斯热图

写在前面的话 最近学校阳了,宿舍给封了,宿舍网络不好远程跑不了实验,随缘写一下对CenterNet源码的一个解读,之前写论文的那段时间留下来的工作,respect! 这个文章主要是对CenterNet中生成高斯核的部分代码…

皕杰报表之语义层

1 语义层定义 语义层——是处于数据源与报表之间的一个概念,是用户和数据库之间的一个代码翻译层,通俗的讲是将数据库中的比较凌乱、复杂的数据对象(例如:存储在table中的各个字段的记录)按预先定义好的规则&#xff…

权限管理框架Shiro renren-security权限管理结构

权限管理框架Shiro: 一直在做项目,由于是二次开发的项目,今天才发现自己连权限控制都没有搞懂。二次开发的是基于renren开源的一个项目。 链接:https://gitee.com/renrenio/renren-security 这个项目主要使用shiro权限管理框架来…