Spring Boot 3.2 更新整理,值得收藏

1. 从 Spring Boot 3.1 升级
  • 参数名称发现: 需要在编译时使用 -parameters 选项以避免依赖注入或属性绑定问题。
  • 记录的应用程序名称: 设置 spring.application.name 会在日志中包含应用名称,可通过 logging.include-application-name 配置。
  • 自动配置的用户详细信息服务: 需要定义相关bean或使用 spring.security.user.namespring.security.user.password 配置。
  • OTLP 跟踪端点: 需要设置 management.otlp.tracing.endpoint 以自动配置 OtlpHttpSpanExporter bean。
  • 嵌套 Jar 支持: 重写支持代码,使用新的 URL 格式和 java.lang.ref.Cleaner 管理资源。
  • Spring Boot 3.0 中的弃用情况: 已删除弃用的类、方法和属性,升级前需检查未使用弃用方法。
  • 日志关联 ID: 使用 Micrometer 跟踪时自动记录,自定义日志配置可删除。
2. 新特性和改进
  • RestClient 支持: 引入新的函数式阻塞 HTTP API,可能作为 RestTemplate 的替代。
  • RestTemplate HTTP 客户端: 自动配置使用 JettyClient 或 JdkClient。
  • 对 JdbcClient 的支持: 基于 NamedParameterJdbcTemplate 自动配置。
  • 对虚拟线程的支持: 需要 Java 21 和设置 spring.threads.virtual.enabled=true
    • Servlet Web 服务器使用虚拟线程处理请求。
    • Spring WebFlux 配置使用 applicationTaskExecutor.
    • 提供 SimpleAsyncTaskExecutorBuilderSimpleAsyncTaskSchedulerBuilder.
    • JVM 保持活动状态通过 spring.main.keep-alive 控制。
  • JVM 检查点/恢复支持: 初始支持 Project CRaC。
  • SSL 捆绑包重新加载: 信任材料变化时自动重新加载,需要设置 reload-on-update 属性。
  • 可观测性改进:
    • 使用 Micrometer 注解。
    • ObservationHandler 自动注册。
    • B3 跟踪传播格式变更。
    • @Scheduled 方法和 R2DBC 支持可观测性。
3. Docker 镜像构建
  • 默认 CNB 构建器升级: 基于 Ubuntu 22.04。
  • Docker 主机配置: 使用 Docker CLI 配置文件。
  • 缓存的绑定挂载: 配置构建和启动缓存。
  • 构建工作区配置: 使用绑定挂载或自定义命名卷。
  • 安全选项配置: 自定义 CNB 构建器容器安全选项。
4. 特定技术集成
  • Spring for GraphQL: 自动配置使用 applicationTaskExecutor.
  • OAuth2 令牌验证器: 使用 OAuth2TokenValidator<Jwt> 进行令牌验证。
  • ActiveMQ 服务连接支持: 集成 Testcontainers 和 Docker Compose。
  • Neo4j Docker Compose 支持: 配置 NEO4J_AUTH 环境变量。
  • WebSocketServerSpec 配置: 自定义 WebSocket 服务器规范。
  • Neo4j AuthTokenManager: 用于身份验证的 bean。
5. 消息系统更新
  • RabbitMQ: SSL 捆绑包支持,限制消息正文大小,虚拟主机支持。
  • Kafka: SSL 捆绑包支持。
  • JMS 会话: 新属性配置会话。
6. 数据库连接和配置
  • Oracle UCP 数据源: 连接验证默认值删除。
  • Gradle 配置: 新增 testAndDevelopmentOnly 配置。
7. 其他改进
  • Jackson 功能配置: 启用或禁用 EnumFeature 和 JsonNodeFeature。
  • Provider 设置延迟值: 为其他构建信息属性设置。
  • 事务管理器自定义: 适用于任何类型的 TransactionManager.
  • 端口信息记录: 改进和统一。
  • Multipart 请求处理: 新属性控制多部分处理。
  • RestClientBuilderConfigurer: 应用 Spring Boot 默认设置。
  • Jetty 服务器配置: 最大连接数配置。
  • PemSslStoreBundle 创建: 提供密钥库密码。
  • OpenTelemetry service.name: 使用 spring.application.name.
  • OTLP 指标和跟踪连接详细信息: 支持连接详细信息。
  • Wavefront CSP 身份验证: 添加支持。
  • Flyway 事务锁定配置: PostgreSQL 事务锁定使用。
  • Kafka MessageListenerContainer: 支持 changeConsumerThreadName 属性。
8. 弃用的功能
  • OkHttp 3 支持: 弃用,推荐使用 OkHttp 4。
  • Maven 目标属性: directories 属性弃用。
  • LoggingSystemProperties 常量: 使用枚举值替代。
  • 请求缓冲支持: 在 ClientHttpRequestFactorySettings 中弃用。
  • 注册 ApplicationContextInitializer 和 ApplicationListener: 不推荐使用环境属性注册。
  • Flyway 属性移动: 到专用命名空间。
  • InfluxDB 支持: 弃用,推荐新的客户端和集成。
  • OpenTelemetry 配置属性: 弃用 management.otlp.metrics.export.resource-attributes.
  • TaskExecutorBuilder 和 TaskSchedulerBuilder: 推荐使用 ThreadPool 版本。
9. 测试和工具
  • Awaitility: 成为 spring-boot-starter-test 的一部分。
  • JdbcTest 和 DataJpaTest: 自动配置的 JdbcClient bean 可用。
  • MockMvc 自动配置: 使用注册 bean 的分派器类型和初始化参数。
  • Testcontainers 并行初始化: 设置 spring.testcontainers.beans.startupparallel.
  • Micrometer 观察: 支持 spring.kafka.template.observation-enabled 属性。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python入门宝藏《看漫画学Python》,495页漫画带你弄清python知识点!简单易懂 | 附PDF全彩版

华为出品的《看漫画学Python》全彩PDF教程是一本适合Python初学者的学习资料&#xff0c;通过漫画的形式将复杂的Python技术问题简单化&#xff0c;使学习过程更加生动有趣。以下是对该教程的内容简介、本书概要及本书目录的详细解析&#xff1a; 内容简介 《看漫画学Python》…

手机三要素接口怎么对接呢?(一)

一、什么是手机三要素&#xff1f; 手机三要素又叫运营商三要素&#xff0c;运营商实名认证&#xff0c;运营商实名核验&#xff0c;手机三要素实名验证&#xff0c;手机三要素实名核验&#xff0c;每个人的称呼都不同&#xff0c;但是入参和出参是一样的。 输入姓名、身份证…

MATLAB基础:函数与函数控制语句

今天我们继续学习Matlab中函数相关知识。 API的查询和调用 help 命令是最基本的查询方法&#xff0c;可查询所有目录、指定目录、命令、函数。 我们直接点击帮助菜单即可查询所需的API函数。 lookfor 关键字用于搜索相关的命令和函数。 如&#xff0c;我们输入lookfor inpu…

矩估计与最大似然估计的通俗理解

点估计与区间估计 矩估计与最大似然估计都属于点估计&#xff0c;也就是估计出来的结果是一个具体的值。对比区间估计&#xff0c;通过样本得出的估计值是一个范围区间。例如估计馒头店每天卖出的馒头个数&#xff0c;点估计就是最终直接估计每天卖出10个&#xff0c;而区间估…

【机器学习基础】机器学习的数学基础

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈Python机器学习 ⌋ ⌋ ⌋ 机器学习是一门人工智能的分支学科&#xff0c;通过算法和模型让计算机从数据中学习&#xff0c;进行模型训练和优化&#xff0c;做出预测、分类和决策支持。Python成为机器学习的首选语言&#xff0c;…

鸿蒙(HarmonyOS)DatePicker+TimePicker时间选择控件

一、操作环境 操作系统: Windows 11 专业版、IDE:DevEco Studio 3.1.1 Release、SDK:HarmonyOS 3.1.0&#xff08;API 9&#xff09; 二、效果图 可实现两种选择方式&#xff0c;可带时分选择&#xff0c;也可不带&#xff0c;使用更加方便。 三、代码 SelectedDateDialog…

2024下半年,前端的技术风口来了

“ 你近期有体验过哪些大模型产品呢&#xff1f; 你有使用大模型API做过一些实际开发吗&#xff1f; 在你日常开发中&#xff0c;可以与大模型相关应用结合来完成工作吗&#xff1f; ” **最近&#xff0c;一直在和同事聊&#xff0c;关于前端可以用大模型干点啥&#xff…

实战:安装ElasticSearch 和常用操作命令

概叙 科普文&#xff1a;深入理解ElasticSearch体系结构-CSDN博客 Elasticsearch各版本比较 ElasticSearch 单点安装 1 创建普通用户 #1 创建普通用户名&#xff0c;密码 [roothlink1 lyz]# useradd lyz [roothlink1 lyz]# passwd lyz#2 然后 关闭xshell 重新登录 ip 地址…

Nat Med·UNI:开启计算病理学新篇章的自监督基础模型|顶刊精析·24-07-31

小罗碎碎念 本期推文主题 这一期推文是病理AI基础模型UNI的详细介绍&#xff0c;原文如下。下期推文会介绍如何使用这个模型&#xff0c;为了你能看懂下期的推文&#xff0c;强烈建议你好好看看今天这期推文。 看完这篇推文以后&#xff0c;你大概就能清楚这个模型对自己的数据…

卷积神经网络(六)---实现 cifar10 分类

cifar10 数据集有60000张图片&#xff0c;每张图片的大小都是 32x32 的三通道的彩色图&#xff0c;一共是10种类别、每种类别有6000张图片&#xff0c;如图4.27所示。 图 4.27 cifar数据集 使用前面讲过的残差结构来处理 cifar10 数据集&#xff0c;可以实现比较高的准确率。 …

麦田物语第十五天

系列文章目录 麦田物语第十五天 文章目录 系列文章目录一、构建游戏的时间系统二、时间系统 UI 制作总结 一、构建游戏的时间系统 在该游戏中我们要构建年月日天时分秒等时间的概念&#xff0c;从而实现季节的更替&#xff0c;昼夜的更替等&#xff08;不同的季节可以播种不同…

【MATLAB源码】机器视觉与图像识别技术实战示例文档---鱼苗面积预测计数

系列文章目录 第一篇文章&#xff1a;【MATLAB源码】机器视觉与图像识别技术—视觉系统的构成(视频与图像格式转换代码及软件下载) 第二篇文章&#xff1a;【MATLAB源码】机器视觉与图像识别技术(2)—图像分割基础 第三篇文章&#xff1a;【MATLAB源码】机器视觉与图像识别技术…

提交高通量测序处理数据到 GEO --- 操作流程

❝ 写在前面 由于最近在提交课题数据到 NCBI 数据库&#xff0c;整理了相关笔记。本着自己学习、分享他人的态度&#xff0c;分享学习笔记&#xff0c;希望能对大家有所帮助。推荐先按顺序阅读往期内容&#xff1a; 1. 提交高通量测序数据到 GEO --- 说明书 2. 提交高通量测序原…

jQuery前端网页制作

1、Jquery的概述 1.1JavaScript库 JavaScript 高级程序设计(特别是对浏览器差异的复杂处理),通常很困难也很耗时。 为了应对这些调整,许多的 JavaScript (helper) 库应运而生。 这些 JavaScript 库常被称为 JavaScript 框架。 市面上一些广受欢迎的 JavaScript 框架:…

基于Docker搭建ELK

目录 1.系统操作 2.搭建es 3.kibana(新起终端跟es一起启动) 4.logstash&#xff08;新起终端和es一起启动&#xff09; 5.修改logstash配置文件 6. 创建索引 7. exit #退出容器 8. 在logstash节点插入数据&#xff0c;测试是否能拿取到&#xff08;下面如果本身有数据…

基于多种机器学习的豆瓣电影评分预测与多维度可视化【可加系统】

有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 在本研究中&#xff0c;我们采用Python编程语言&#xff0c;利用爬虫技术实时获取豆瓣电影最新数据。通过分析豆瓣网站的结构&#xff0c;我们设计了一套有效的策略来爬取电影相关的JSON格式数据。…

[FBCTF2019]RCEService (PCRE回溯绕过和%a0换行绕过)

json格式输入ls出现index.php 这道题原本是给了源码的&#xff0c;BUUCTF没给 源码&#xff1a; <?phpputenv(PATH/home/rceservice/jail);if (isset($_REQUEST[cmd])) {$json $_REQUEST[cmd];if (!is_string($json)) {echo Hacking attempt detected<br/><br/…

ElasticSearch学习篇15_《检索技术核心20讲》进阶篇之TopK检索

背景 学习极客实践课程《检索技术核心20讲》https://time.geekbang.org/column/article/215243&#xff0c;文档形式记录笔记。 相关问题&#xff1a; ES全文检索是如何进行相关性打分的&#xff1f;ES中计算相关性得分的时机?如何加速TopK检索&#xff1f;三种思路 精准To…

eclipse ui bug

eclipse ui bug界面缺陷&#xff0c;可能项目过多&#xff0c;特别maven项目过多&#xff0c;下载&#xff0c;自动编译&#xff0c;加载更新界面异常 所有窗口死活Restore不回去了 1&#xff09;尝试创建项目&#xff0c;还原界面&#xff0c;失败 2&#xff09;关闭所有窗口&…

Python写UI自动化--playwright(pytest.ini配置)

在 pytest.ini 文件中配置 playwright 的选项可以更好地控制测试执行的过程。 在终端输入pytest --help&#xff0c;可以找到playwright的配置参数 目录 1. --browser{chromium,firefox,webkit} 2. --headed 3. --browser-channelBROWSER_CHANNEL 4. --slowmoSLOWMO 5. …