SpringBoot配置文件使用yml格式时报错,使用properties格式时正常

背景:配置文件使用yml格式时报错,使用properties格式时正常

在 Spring Boot 应用程序中,.properties.yml 都是常用的配置文件格式,它们都可以被 Spring Boot 自动加载并解析。但是在属性解析方面,它们有一些细微的差别。

对于 .properties 文件,Spring Boot 使用 PropertyPlaceholderHelper 类来解析属性值,它会在应用程序启动时扫描配置文件中的 ${...} 占位符,并尝试从环境属性或者配置文件中找到对应的值来替换。

而对于 .yml 文件,Spring Boot 使用的是 YAML 标准库来解析配置。YAML 的语法比较灵活,对于字符串的表示有多种方式,比如 username: rootusername: "root" 都表示相同的字符串 "root"。但是对于像 ${...} 这样的占位符,YAML 本身并不支持,因此 Spring Boot 在 .yml 文件中无法直接使用 ${...} 占位符来引用属性值。

所以,当你使用 .properties 文件时,Spring Boot 能够很好地识别 ${...} 占位符并进行属性解析。而当你使用 .yml 文件时,如果想要实现属性的引用和解析,可以使用 ${...} 占位符的替代方案,比如使用 @Value 注解来注入属性值,或者使用 @ConfigurationProperties 注解来绑定属性到对象。

posted @   燕子去了  阅读(233)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具

Powered by .NET 8.0 on Kubernetes

我会翻山越岭,到每一个我想去的地方

...

点击右上角即可分享
微信分享提示