Spring Boot 4.0 新特性全解:基线升级、Web 生态换代、API 版本治理、声明式 HTTP Client

springboot4.0 已经正式发布,本文旨在梳理 Spring Boot 4.0 的“新增与变化点”,聚焦对工程落地有直接影响的内容。

一、重点特性升级

1. 平台基线升级:对齐 Spring Framework 7 与 Servlet 6.1 / Jakarta EE 11

Spring Boot 4.0 的首要变化是平台基线整体前移:

  • Spring Framework 基线升级到 7.0.x
  • Servlet 基线升级到 6.1(Jakarta EE 11)
  • 内嵌容器主线对齐到 Tomcat 11 / Jetty 12.1(与 Servlet 6.1 匹配)

影响:

  • 任何与 jakarta.*、Servlet API、容器适配相关的依赖,需要升级到兼容 Servlet 6.1 的版本线
  • 自定义 Filter/Servlet、以及第三方组件(网关插件、监控探针、老旧 SDK)需要回归验证

2. Starter 结构调整:Web 服务器从“隐式默认”变成“显式可插拔”

Boot 4.0 对 Web 服务器 starter 做了结构性调整:

  • spring-boot-starter-web / spring-boot-starter-webflux 不再隐式绑定某个服务器实现
  • 新增更清晰的容器 starter(按 Servlet / Reactive 维度区分):
    • spring-boot-starter-web-server-tomcat
    • spring-boot-starter-web-server-jetty
    • spring-boot-starter-reactive-web-server-tomcat
    • spring-boot-starter-reactive-web-server-jetty

影响:

  • 需要明确选择容器实现(Tomcat 或 Jetty),依赖图更清晰、更可控
  • 对“平台统一容器版本”的团队更友好(便于强制收敛)

3. Undertow 移除:Servlet 6.1 兼容性导致的硬性变化

Boot 4.0 移除了 Undertow 的内嵌支持,原因是 Undertow 目前不支持 Servlet 6.1。

工程影响:

  • 依赖 Undertow 的项目需要迁移到 Tomcat 或 Jetty
  • 如果团队强依赖 Undertow(性能、特性、生态),需要评估自行维护适配链路的成本(通常不建议)

4. API Versioning:框架内建的版本治理能力

Boot 4.0 把 API 版本治理提升为框架能力(不再只是网关约定或自研技巧):

  • 支持在 Spring MVC / WebFlux 中声明与解析版本
  • 支持默认版本、版本解析器、版本格式解析、废弃策略处理等扩展点

4.1 Header 取版本(示例)

spring.mvc.apiversion.default=1.0.0 spring.mvc.apiversion.use.header=X-Version 

4.2 Controller 上声明版本(示意)

具体注解/扩展点以 Spring Boot 4.0 最终 API 为准;实际项目建议统一版本策略(Header/Path/Query 选其一)。
@GetMapping("/users")@ApiVersion("1.0.0")publicList<UserDTO>v1(){...}@GetMapping("/users")@ApiVersion("2.0.0")publicList<UserDTO>v2(){...}

建议:

  • 对外 API/开放平台建议尽早统一版本来源(Header 或 Path),避免“网关一套、应用一套”
  • 版本废弃需要配套:文档标注、灰度周期、监控(旧版本调用量)、以及下线策略

5. 声明式 HTTP Client:HTTP Service Clients 一等公民化

Boot 4.0 强化了“接口式 HTTP Client”的工程化体验:

  • 通过注解接口描述外部服务契约(而不是手工拼 URL)
  • 支持按组配置 base-url、拦截器、超时等
  • 适合多环境、多域名、微服务间调用治理

5.1 定义接口(示例)

@HttpExchangepublicinterfaceBillingClient{@GetExchange("/api/bills/{id}")BillDTOget(@PathVariableLong id);}

5.2 扫描导入

@SpringBootApplication@ImportHttpServices(basePackages ="com.example.clients")publicclassApp{}

5.3 按组配置 base-url(示例)

spring.http.serviceclient.billing.base-url=https://billing.example.com 

建议:

  • 对外部依赖调用必须配套:超时、重试、熔断、限流与降级(建议与 Resilience4j 等组合)
  • 调用链路建议统一透传 traceId,以便端到端排障

6. 可观测性:OpenTelemetry Starter 纳入官方阵列

Boot 4.0 新增 spring-boot-starter-opentelemetry,用于更标准地接入 OpenTelemetry 相关能力。

工程建议:

  • 统一团队的 tracing/metrics/logs 采集入口,避免各服务“各配各的”
  • 与 Actuator、日志(MDC/traceId)、以及 OTLP exporter 等形成一致的观测口径

7. Kotlin 生态:Kotlin Serialization Starter

Boot 4.0 新增 spring-boot-starter-kotlin-serialization,为 Kotlin 项目提供更明确的序列化路径。


8. 测试与客户端工具:RestTestClient、JmsClient 等进入标准工具箱

Boot 4.0 与 Spring Framework 7 同步推动部分现代客户端能力:

  • RestTestClient:更适合 REST 交互测试的工具能力
  • JmsClient:更现代化的 JMS 客户端入口

9. 关键依赖代际升级:Jackson 3 / Hibernate 7.1 / Spring Data 2026 等

Boot 4.0 的“新特性”很大一部分来自关键依赖的大代际升级:

  • Jackson 3.x
  • Hibernate 7.1
  • Spring Data 2026
  • Spring Batch 6.0

影响(必须回归验证):

  • JSON 序列化行为与模块兼容(尤其是自定义序列化、时间类型、泛型/多态)
  • JPA/Hibernate 配置项、方言行为、DDL 生成、懒加载与性能策略
  • Spring Data Repository 行为变化与依赖矩阵变化
  • 第三方 starter/SDK 的兼容窗口(建议建立依赖兼容清单)

二、. Boot 4.0 vs Boot 3.x:升级关注点对比

建议升级路径:先收敛到最新的 Boot 3.5.x,再评估升到 4.0。
维度Boot 3.xBoot 4.0
Spring Framework 基线6.x7.0.x
Servlet/Jakarta 基线Servlet 6.0 / Jakarta EE 10(主线)Servlet 6.1 / Jakarta EE 11
Web starter 结构starter-web 默认绑定容器的习惯更明显Web 服务器 starter 显式拆分,更可插拔
Undertow常见可用选择之一移除(Servlet 6.1 不支持)
API 版本治理多靠网关/自研框架级 API Versioning
HTTP 调用方式RestTemplate/WebClient + 手写封装声明式 HTTP Service Clients + 分组配置
可观测性OTel 依赖通常手动组合新增 OTel starter,标准化更强
关键依赖代际Jackson 2 / Hibernate 6 等Jackson 3 / Hibernate 7.1 / Spring Data 2026 等

三、. 升级落地建议

  1. 先到 3.5.x 再升 4.0:减少迁移跨度
  2. 先清理 deprecated:避免升级后集中爆炸
  3. 先补齐测试与观测基线:没有测试/指标就无法判断升级收益
  4. 重点回归:容器/Servlet、序列化、JPA/Hibernate、Actuator 端点与安全策略
  5. 灰度发布 + 回滚预案:按“升级项目”推进,而不是“改版本号”

四、总结

本文介绍了springboot4.0升级的重点内容,及项目升级建议。

Read more

AI提示词管理工具AiShort

AI提示词管理工具AiShort

简介 什么是 AiShort? AiShort (原名 ChatGPT Shortcut) 是一个精选的 AI 提示词库,能帮助用户更高效地使用大语言模型(LLM),例如 ChatGPT。它内置了大量经过优化和筛选的提示词,覆盖写作、编程、学术、求职等多种场景。用户只需一键复制,即可获得高质量的 AI 回复,极大地提升了工作和学习效率。 主要特点 * 精选提示词库:内置上百个专业、实用的提示词,并持续更新。 * 智能搜索与过滤:通过关键词搜索或标签分类,快速定位你需要的提示词。 * 多语言支持:所有提示词均已翻译成十多种主流语言,方便不同母语的用户使用。 * 一键复制:简化操作流程,点击即可复制提示词,直接粘贴到任何 AI 对话窗口。 * 无需注册:用户无需注册即可立即开始使用,方便快捷。 * 我的收藏(高级功能):用户可以保存喜欢的提示,并进行排序和自定义标签管理。 * 导出功能:支持将所有提示导出为

文科生封神!Python+AI 零门槛变现:3 天造 App,指令即收入(附脉脉 AI 沙龙干货)

文科生封神!Python+AI 零门槛变现:3 天造 App,指令即收入(附脉脉 AI 沙龙干货)

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 文章目录: * 一、前言:打破“AI是理科生专属”的迷思 * 二、行业新趋势:为什么文科生学Python+AI更有优势? * 2.1 文科生 vs 理科生:AI时代的核心竞争力对比 * 2.2 核心变现逻辑:靠Python+AI,“指令即收入” * 三、Python+AI零基础学习路径(文科生专属版) * 3.1 学习路径流程图 * 3.2 分阶段学习核心内容(新颖且落地) * 阶段1:Python核心基础(7天)—— 只学“AI开发必备” * 阶段2:AI大模型交互(10天)

人工智能:深度学习中的卷积神经网络(CNN)实战应用

人工智能:深度学习中的卷积神经网络(CNN)实战应用

人工智能:深度学习中的卷积神经网络(CNN)实战应用 1.1 本章学习目标与重点 💡 学习目标:掌握卷积神经网络的核心原理、经典网络架构,以及在图像分类任务中的实战开发流程。 💡 学习重点:理解卷积层、池化层的工作机制,学会使用 TensorFlow 搭建 CNN 模型并完成训练与评估。 1.2 卷积神经网络核心原理 1.2.1 卷积层:提取图像局部特征 💡 卷积层是 CNN 的核心组件,其作用是通过卷积核对输入图像进行局部特征提取。 卷积核本质是一个小型的权重矩阵。它会按照设定的步长在图像上滑动。每滑动一次,卷积核就会与对应区域的像素值做内积运算,输出一个特征值。 这个过程可以捕捉图像的边缘、纹理等基础特征。 ⚠️ 注意:卷积核的数量决定了输出特征图的通道数,数量越多,提取的特征维度越丰富。 ① 定义一个 3×3 大小的卷积核,步长设为 1,填充方式为 SAME

Topaz Photo AI v1.3.3 汉化便携版:终极图片降噪与无损放大神器,一键修复模糊废片

Topaz Photo AI v1.3.3 汉化便携版:终极图片降噪与无损放大神器,一键修复模糊废片

在数码摄影日益普及的今天,我们手中的相机和手机虽然越来越强大,但依然无法完全避免拍摄失误。夜景噪点满满、手抖导致画面模糊、老旧照片分辨率低下……这些“废片”往往让我们痛心疾首。过去,想要修复这些问题需要精通复杂的Photoshop技巧,耗费数小时进行手动磨皮、降噪和锐化。而现在,随着人工智能技术的飞跃,Topaz Photo AI 应运而生,它被誉为目前市面上最强大的智能图片修复软件,能够以惊人的速度和质量,将模糊、噪点多的照片瞬间变为清晰大片。  Topaz Photo AI v1.3.3 汉化便携版。这是一个无需安装、无需登录、集成全部离线模型的“全能型”选手,专为追求高效与画质的摄影师及设计爱好者打造。无论您是专业修图师,还是只想简单优化朋友圈照片的普通用户,这款软件都将成为您不可或缺的得力助手。 核心功能:三大AI引擎,重塑画质巅峰 Topaz Photo AI 并非简单的滤镜堆砌,它深度融合了 Topaz Labs 旗下三款传奇软件(