news 2026/4/3 5:11:41

Nacos Spring Cloud配置管理指定file-extension的格式为yaml不生效

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Nacos Spring Cloud配置管理指定file-extension的格式为yaml不生效

启动了 Nacos server 后,您就可以参考以下示例代码,为您的 Spring Cloud 应用启动 Nacos 配置管理服务了。完整示例代码请参考:nacos-spring-cloud-config-example

  1. 添加依赖:

    <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>${latest.version}</version> </dependency>
  2. 注意:版本2.1.x.RELEASE对应的是 Spring Boot 2.1.x 版本。版本2.0.x.RELEASE对应的是 Spring Boot 2.0.x 版本,版本1.5.x.RELEASE对应的是 Spring Boot 1.5.x 版本。

    更多版本对应关系参考:版本说明 Wiki

  3. bootstrap.properties中配置 Nacos server 的地址和应用名

  4. spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.application.name=example

    说明:之所以需要配置spring.application.name,是因为它是构成 Nacos 配置管理dataId字段的一部分。

    在 Nacos Spring Cloud 中,dataId的完整格式如下:

    ${prefix}-${spring.profiles.active}.${file-extension}
  5. prefix默认为spring.application.name的值,也可以通过配置项spring.cloud.nacos.config.prefix来配置。

  6. spring.profiles.active即为当前环境对应的 profile,详情可以参考Spring Boot文档。注意:当spring.profiles.active为空时,对应的连接符-也将不存在,dataId 的拼接格式变成${prefix}.${file-extension}

  7. file-exetension为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension来配置。目前只支持propertiesyaml类型。

  8. 通过 Spring Cloud 原生注解@RefreshScope实现配置自动更新:

    @RestController @RequestMapping("/config") @RefreshScope useLocalCachepublic class test { @Value("${test}") private String useLocalCache; @RequestMapping("/get") public String get() { return useLocalCache; } }
  9. 配置文件

    spring: application: name: config-server cloud: nacos: config: file-extension: yaml server-addr: 127.0.0.1:8848
  10. 以上配置完成后 配置文件设置为yaml格式启动后报错

Located property source: CompositePropertySource {name='NACOS', propertySources=[NacosPropertySource {name='config-server.properties,DEFAULT_GROUP'}, NacosPropertySource {name='config-server,DEFAULT_GROUP'}]} org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scopedTarget.test': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'test' in value "${test}"

报错时控制台信息加载了nacos的配置信息,但是加载信息中的格式为默认格式.properties,然后就是以为file-extension指定格式没有生效读取不到配置信息

格式,引用依赖都没有问题

最后原来是配置文件命名有问题

问题所在:

原来配置文件名字是application.yml

修改为bootstrap.yml 就可以加载到了

一、加载顺序

bootstrap.yml(bootstrap.properties)先加载
application.yml(application.properties)后加载
bootstrap.yml 用于应用程序上下文的引导阶段。

bootstrap.yml 由父Spring ApplicationContext加载。

父ApplicationContext 被加载到使用 application.yml 的之前。

二、配置区别

bootstrap.yml 和application.yml 都可以用来配置参数。

bootstrap.yml 可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。
application.yml 可以用来定义应用级别的。

引用文章 :读取Nacos配置中心的配置文件 - 码农教程

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/13 1:38:45

ModbusPoll与Modbus Slave联动测试完整示例

ModbusPoll 与 Modbus Slave 联动测试实战指南&#xff1a;零硬件搭建高效通信验证环境 你是否曾因为现场设备未到货而卡住开发进度&#xff1f; 是否在调试 Modbus 通信时&#xff0c;面对“读不到数据”、“CRC 校验失败”这类问题无从下手&#xff1f; 别急。今天我们就用…

作者头像 李华
网站建设 2026/3/20 22:02:44

IAR中使用宏定义优化条件编译:实践技巧

IAR中巧用宏定义优化条件编译&#xff1a;从工程实践到高效开发你有没有遇到过这样的场景&#xff1f;同一个项目要出两个版本——一个给客户A的“基础版”功能精简&#xff0c;另一个给客户B的“专业版”带加密和远程升级。于是你复制了一份代码&#xff0c;注释掉某些模块&am…

作者头像 李华
网站建设 2026/3/23 20:21:16

大数据GDPR合规的技术支撑体系

大数据GDPR合规的技术支撑体系关键词&#xff1a;大数据、GDPR合规、技术支撑体系、数据保护、隐私管理摘要&#xff1a;本文围绕大数据GDPR合规的技术支撑体系展开&#xff0c;详细介绍了GDPR的背景和重要性&#xff0c;深入剖析了技术支撑体系中的核心概念及其相互关系。通过…

作者头像 李华
网站建设 2026/3/21 1:17:56

模拟I2C读写流程系统学习:入门篇

从零实现模拟I2C&#xff1a;一位嵌入式工程师的实战手记你有没有遇到过这样的场景&#xff1f;项目进入关键阶段&#xff0c;突然发现MCU上唯一的硬件I2C接口已经被OLED屏幕占用&#xff0c;而你现在还要接一个温湿度传感器——偏偏它的地址还和另一个设备冲突。怎么办&#x…

作者头像 李华
网站建设 2026/3/26 16:12:17

系统极客必备:Driver Store Explorer高级功能探索

驱动仓库的“清道夫”&#xff1a;深入驾驭 Driver Store Explorer 的实战艺术你有没有遇到过这样的情况——明明已经卸载了某款显卡驱动&#xff0c;可系统更新后它又“死而复生”&#xff1f;或者一台原本轻快的电脑&#xff0c;渐渐变得启动缓慢、磁盘告急&#xff0c;排查一…

作者头像 李华
网站建设 2026/3/26 6:52:16

救命神器2026 TOP10 AI论文写作软件:本科生毕业论文全场景测评

救命神器2026 TOP10 AI论文写作软件&#xff1a;本科生毕业论文全场景测评 2026年AI论文写作工具测评&#xff1a;为何需要一份权威榜单&#xff1f; 随着人工智能技术的不断进步&#xff0c;AI写作工具在学术领域的应用日益广泛。对于本科生而言&#xff0c;撰写毕业论文不仅是…

作者头像 李华