Springboot 3.5.7 + Springcloud 2025 升级记录

依赖版本变更

Springboot 3.5.7

Springcloud 2025.0.0

spring-cloud-alibaba 2025.0.0.0 (nacos相关组件)
其余略

Jakarta

废弃了JavaEE,改用了Jakarta EE

引入包的时候注意一下

如:jakarta.servlet.http.HttpServletRequest

Redis加载

读取的字段从spring.redis改成了spring.data.redis

nacos配置引入

由于springboot3+放弃了bootstrap.yml的加载,替换为application.yml

因此我们的配置需要写在application.yml中。而且是必须写在对应的application-profile.yml上

bash 复制代码
spring:
  config:
    import:
      - "optional:nacos:blade-test.yaml?group=DEFAULT_GROUP"
      - "optional:nacos:blade.yaml?group=DEFAULT_GROUP"
      - "optional:nacos:${spring.application.name}.yaml?group=DEFAULT_GROUP"

查看引入的变量(包含nacos配置)

ConfigurableEnvironment 类

bash 复制代码
@Bean
	@ConditionalOnMissingBean
	public RedisConnectionFactory redisConnectionFactory(ConfigurableEnvironment env) {
		String host = env.getProperty("spring.data.redis.host");
		Integer port = env.getProperty("spring.data.redis.port", Integer.class, 6379);
		String password = env.getProperty("spring.data.redis.password");
		if (host == null) {
			throw new IllegalStateException("Redis配置未从Nacos加载,请检查 redis-config.yaml 是否加载成功");
		}
		RedisStandaloneConfiguration config = new RedisStandaloneConfiguration(host, port);
		if (StringUtils.hasText(password)) {
			config.setPassword(RedisPassword.of(password));
		}
		return new LettuceConnectionFactory(config);
	}


Spring SPI加载机制变化

加载方式从之前的META-INF/spring.factories改成了META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

nacos命名空间

不再使用public作为初始化命名空间,必须创建一个命名空间,不然会无法找到

相关推荐
海的透彻3 小时前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat4 小时前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
后台模板学习4 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
w_zero_one4 小时前
算法--构造
java·数据结构·算法
SL_staff5 小时前
制造业订单交付崩盘?用四层协同框架重建交付可信度(技术实践)
java·产品·全栈
SL_staff5 小时前
打破风控迭代死循环:用决策编排重构业务与技术协作链路
java·产品·全栈
Mikko76 小时前
Redis 连接数满了服务端有错误信息吗?连接数不增加却命令超时?6.2 实测连接池、超时与大 key 怎么判定
java·spring boot·redis·后端
.Bryce.6 小时前
从零到一开发技术名词大全:从需求分析到 AI Agent 工程
java·网络·人工智能·agent·需求分析·agent评测
SL_staff6 小时前
JVS-APS的7个刚性约束设计:从无限产能幻觉到可执行排产的工程实践
java·spring cloud·全栈
代码山河8 小时前
基本类型转换:自动类型转换与强制类型转换
java·学习·架构·教程·面向对象·项目