Spring Cloud Alibaba 2025.1.0.0 全面适配 Spring Boot 4.0,5 个技术变化必看

Spring Cloud Alibaba 沉寂了好一阵子。上次发版还是去年 10 月份,常规的依赖升级,没什么新特性。

然后在春节前夕,2025.1.0.0 版本悄悄上线了。

这次不一样,全面适配 Spring Boot 4.0 的分布式框架,底层变化不小。还在用 Spring Boot 2.x 或 3.x 的话,升级时可能会踩坑。我把最核心的 5 个技术变化整理出来了,看完你就知道该怎么应对。

一、bootstrap.yml 正式退场

这是最大的破坏性变更。

用了这么多年的 bootstrap.yml 配置文件,在 2025.1.0.0 版本中被彻底废弃了。取而代之的是 spring.config.import 机制。

为什么要这么改?

早期的 Spring Cloud 架构中,Bootstrap 上下文作为主应用上下文的父容器存在。这种”双上下文”模式虽然解决了配置预加载的问题,但也有明显的缺点:

  1. 启动速度慢,需要初始化两个 Spring 容器
  2. 属性覆盖逻辑复杂,父子容器的属性优先级经常让人困惑

新的 spring.config.import 机制在单一上下文中完成所有配置的解析与加载,启动效率明显提升。

迁移怎么做?

原来的 bootstrap.yml:

1
2
3
4
5
6
7
spring:
application:
name: my-service
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848

现在改成 application.yml:

1
2
3
4
5
6
7
8
9
spring:
application:
name: my-service
config:
import: nacos:my-service.yml?refreshEnabled=true
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848

关键点:必须添加 spring.config.import=nacos:xxx 这行配置。如果你漏了,启动时会直接报错提醒你。