springboot 3.x相比之前版本有什么区别

Spring Boot 3.x相比之前的版本(尤其是Spring Boot 2.x),主要存在以下几个显著的区别和新特性:

  1. Java版本要求
    • Spring Boot 3.x要求至少使用Java 17作为最低版本,同时已经通过了Java 19的测试,确保了更好的兼容性和性能。
    • 相比之下,Spring Boot 2.x主要支持Java 8和Java 11。
  2. Spring Framework版本
    • Spring Boot 3.x基于最新的Spring Framework 6构建,提供了更好的性能和功能。
    • Spring Framework 6引入了对Jakarta EE 9的全面支持,并优化了许多核心功能。
    • Spring Boot 2.x则基于Spring Framework 5.x。
  3. GraalVM支持和原生镜像
    • Spring Boot 3.x引入了对GraalVM的支持,允许开发者使用GraalVM将Spring应用程序编译成本地可执行的镜像文件。
    • 这可以显著提升应用程序的启动速度、峰值性能以及减少内存使用。
    • 相比之下,Spring Boot 2.x对GraalVM的支持相对有限。
  4. 配置系统改进
    • Spring Boot 3.x对配置系统进行了改进,提供了更灵活的配置方式。
    • 例如,一些配置属性在Spring Boot 3.x中被重新命名或删除,需要开发者更新相应的配置文件(如application.propertiesapplication.yml)。
    • 为了帮助开发者进行升级,Spring Boot提供了spring-boot-properties-migrator模块,可以在启动时分析应用程序的环境并打印诊断结果,同时在运行时为开发者临时迁移属性。
  5. 应用可观察性提高
    • Spring Boot 3.x通过Micrometer和Micrometer追踪提高了应用的可观察性。

  1. Jakarta EE API支持
    • 由于Java EE已经变更为Jakarta EE,Spring Boot 3.x支持Jakarta EE 10,并且所有的Java EE依赖项都已经迁移到了Jakarta EE API。
    • 这要求开发者在使用这些依赖项时,需要相应地更新包名从javax开头变更为jakarta
  2. 其他变化
    • Spring Boot 3.x还包含了许多其他小的改进和变化,如函数式编程支持、响应式编程案例、自动配置包位置变化、Apache HttpClient 4的依赖管理、Servlet和过滤器注册、Git提交ID、Maven插件版本属性以及增强服务连接等。

总体来说,Spring Boot 3.x在Java版本要求、Spring Framework版本、GraalVM支持和原生镜像、配置系统改进、应用可观察性、Jakarta EE API支持等方面都进行了显著的升级和改进,为开发者提供了更好的性能和更多的新功能。然而,在决定升级到Spring Boot 3.x时,开发者需要仔细评估项目需求、技术栈、稳定性以及社区支持等因素。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何焊铜管 量测射频前端模块

先说结论 要做Port Extension待测物要上电 且根据逻辑表给Enable pin上电网分输入功率 不要太大 -20dBm即可铜管的接地 要足够 以及足够近铜管与待测物之间 必要时 隔一颗电容不要将匹配元件 也包含在量测范围讯号针不要直接焊在焊盘上 首先 铜管要做Port…

Amazon Q——2023 re:Invent 大会的 AI 革新之星

引言 在2023年的 re:Invent 大会上,亚马逊云科技(亚马逊云科技)不仅展示了包括 Amazon Graviton3、Amazon SageMaker Studio Lab、Amazon Connect Wisdom、Amazon QuickSight Q 和 Amazon Private 5G 在内的多项创新产品,还发布了…

动手学深度学习(Pytorch版)代码实践 -计算机视觉-47转置卷积

47转置卷积 import torch from torch import nn from d2l import torch as d2l# 输入矩阵X和卷积核矩阵K实现基本的转置卷积运算 def trans_conv(X, K):h, w K.shapeY torch.zeros((X.shape[0] h - 1, X.shape[1] w - 1))for i in range(X.shape[0]):for j in range(X.shap…

MySQL高级-InnoDB引擎-事务日志- redo log(事务持久性的保证)

文章目录 1、redo log1.1、重做日志缓冲(redo log buffer)1.2、重做日志文件(redo log file) 2、如果没有redo log,可能会存在什么问题的?2.2、我们一起来分析一下。 2.2、那么,如何解决上述的问…

MySQL高级-SQL优化- group by 优化(通过索引来提高效率)

文章目录 0、group by 优化1、删除多余的索引2、查询 group by profession3、执行计划 group by profession4、创建联合索引 idx_user_pro_age_sta5、再次执行计划 group by profession6、执行计划 group by age7、执行计划 group by profession,age8、执行计划 where professi…

2-requests模块(6节课学会爬虫)

2-requests模块(6节课学会爬虫) 1,安装requests2,发送get,post请求,获取响应3,response的方法方法一(Response.text)方法二(response.content.decode()&#…

基于springboot实现学生用品采购系统项目【项目源码+论文说明】

基于springboot实现学生用品采购系统演示 摘要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装学生用品采购系统软…

《昇思25天学习打卡营第6天|onereal》

Vision Transformer(ViT)简介 近些年,随着基于自注意(Self-Attention)结构的模型的发展,特别是Transformer模型的提出,极大地促进了自然语言处理模型的发展。由于Transformers的计算效率和可扩…

YOLOv10(7):YOLOv10训练(以训练VOC数据集为例)

YOLOv10(1):初探,训练自己的数据_yolov10 训练-CSDN博客 YOLOv10(2):网络结构及其检测模型代码部分阅读_yolov10网络结构图-CSDN博客 YOLOv10(4):损失&…

MapReduce学习

目录 7.3 MapReduce工作流程 7.3.1 工作流程概述 7.3.2 MapReduce各个执行阶段 7.3.3 Shuffle过程详解 1. Shuffle过程简介(过程分为Map端的操作和Reduce端的操作) 2、Map端的Shuffle过程: 3、在Reduce端的Shuffle过程 7.4 实例分析&am…

mysql是什么

mysql是什么 是DBMS软件系统,并不是一个数据库,管理数据库 DBMS相当于用户和数据库之间的桥梁,有超过300种不同的dbms系统 mysql是关系型数据库,关系型数据库存储模型很想excel,用行和列组织数据 sql是一门编程语言…

LUA 语言中subtree 的使用教程

在线编辑器: https://www.runoob.com/try/runcode.php?filenameHelloWorld&typelua 在Lua语言中,"subtree"通常指的是一个子表或者子树,它指的是一个Lua表(table)中的一个部分,可以是一个单…

自定义注解+AOP形式监控接口调用日志

目的&#xff1a; 通过自定义注解&#xff0c;在需要监控接口调用输出日志的类或方法上&#xff0c;加上自定义注解&#xff0c;实现无侵入式接口监控。 实现&#xff1a; idea结构 1、导入pom <dependency><groupId>org.aspectj</groupId><artifactI…

你的 Python 代码太慢了吗?协程和多线程来拯救!

目录 协程&#xff08;Coroutine&#xff09; 多线程&#xff08;Multithreading&#xff09; 协程与多线程的原理 协程的原理 多线程的原理 实践案例 使用协程案例 使用多线程案例 大家好&#xff0c;在Python编程中&#xff0c;处理并发任务时&#xff0c;我们经常会…

LLM大模型:如何选择合适的 Embedding 模型?

检索增强生成&#xff08;RAG&#xff09;是生成式 AI &#xff08;GenAI&#xff09;中的一类应用&#xff0c;支持使用自己的数据来增强 LLM 模型&#xff08;如 ChatGPT&#xff09;的知识。 RAG 通常会用到三种不的AI模型&#xff0c;即 Embedding 模型、Rerankear模型以及…

数据质量管理-时效性管理

前情提要 根据GB/T 36344-2018《信息技术 数据质量评价指标》的标准文档&#xff0c;当前数据质量评价指标框架中包含6评价指标&#xff0c;在实际的数据治理过程中&#xff0c;存在一个关联性指标。7个指标中存在4个定性指标&#xff0c;3个定量指标&#xff1b; 定性指标&am…

视频号视频怎么保存到手机,视频号视频怎么保存到手机相册里,苹果手机电脑都可以用

随着数字媒体的蓬勃发展&#xff0c;视频已成为我们日常生活中不可或缺的一部分。视频号作为众多视频分享平台中的一员&#xff0c;吸引了大量用户上传和分享各类精彩视频。然而&#xff0c;有时我们可能希望将视频号上的视频下载下来,以下将详细介绍如何将视频号的视频。 方法…

[DASP]玩机!在组织一套音频系统之前,我们先要知道这套系统里面有什么东西。

前言 现在不是搞音频嘛&#xff0c;正好自己买了无源音箱&#xff0c;买了套DSP芯片玩一下 流程 上图是我们组织一套音频系统的流程&#xff0c;首先我们需要知道各个元件是做什么的 1. 音源&#xff08;例如麦克风、音乐播放器等&#xff09;&#xff1a; 产生模拟音频信号…

无忧易售新功能:一键白底转换,升级产品图片质感

在电商领域不断追求卓越与效率的今天&#xff0c;无忧易售ERP推出一键白底转换功能&#xff0c;为卖家们提供前所未有的便捷与高效&#xff0c;改变了商品图片处理的传统模式&#xff0c;革新了卖家们的图片处理体验&#xff0c;让商品展示焕然一新&#xff0c;助力商家在激烈的…

Java--常用类APl(复习总结)

前言: Java是一种强大而灵活的编程语言&#xff0c;具有广泛的应用范围&#xff0c;从桌面应用程序到企业级应用程序都能够使用Java进行开发。在Java的编程过程中&#xff0c;使用标准类库是非常重要的&#xff0c;因为标准类库提供了丰富的类和API&#xff0c;可以简化开发过…