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 上下文作为主应用上下文的父容器存在。这种”双上下文”模式虽然解决了配置预加载的问题,但也有明显的缺点:
- 启动速度慢,需要初始化两个 Spring 容器
- 属性覆盖逻辑复杂,父子容器的属性优先级经常让人困惑
新的 spring.config.import 机制在单一上下文中完成所有配置的解析与加载,启动效率明显提升。
迁移怎么做?
原来的 bootstrap.yml:
1 | spring: |
现在改成 application.yml:
1 | spring: |
关键点:必须添加 spring.config.import=nacos:xxx 这行配置。如果你漏了,启动时会直接报错提醒你。