鹏仔先生-趣站-一个有趣的网站!
鹏仔先生

鹏仔先生

当前位置:网站首页 > 文字大全 > 正文

springboot 为什么读取不到 yml 属性

作者:百变鹏仔日期:2023-08-06 18:05:09浏览:4分类:文字大全

springboot 为什么读取不到 yml 属性

一种可能是你的yml文件没有被ide标注为资源文件,这种的症状就是你的yml文件是个表格状的图标,这时,你只需在你的yml所在的文件夹上(一般是resources文件夹)右键,选择“标记目录为”-》resources root即可,这时你的yml文件就会变成一个绿叶的图标,大功告成!!!

? Spring Boot 官方 提供了两种常用的配置文件格式,分别是 properties 、 YML 格式。相比于 properties 来说, YML 更加年轻,层级也是更加分明。 强烈推荐使用 YML 格式

? Spring Boot项目 启动会扫描以下位置的 application.properties 或者 application.yml 作为默认的配置文件.

徒手撕源码

内部类Loader的load方法

getSearchLocations()方法

asResolvedSet()

下面给出优先级 从高到低 的配置文件排列顺序:

以设置应用端口为例 初体验Spring Boot配置文件

properties后缀结尾(application.properties)

yml/yaml后缀结尾(application.yml/application.yaml)

数字,字符串,布尔,日期

对象、Map

数组

数字,字符串,布尔,日期

对象、Map

数组

@ConfigurationProperties(prefix = "person")详解

标注在类上

标注在方法上

综上所述

? @ConfigurationProperties 注解能够轻松的让配置文件跟实体类绑定在一起。

?值得关注的是: @ConfigurationProperties 这个注解仅仅是支持从 Spring Boot的默认配置文件 中取值,也就是 application.properties 、 application.yml 、 application.yaml ,那我们如何从自定义配置文件取值呢?

?别着急,有解决办法,那就是再加一个注解: @PropertySource(value = "classpath:custom-profile.properties") ,下面会有对 @PropertySource 注解的介绍。请耐心往下面看。

使用@PropertySource注解

对应配置文件

创建两个配置文件 custom-profile.yml、custom-profile1.yml ,如下去引入。

我们可以通过控制变量法进行测试,具体过程我这里就不赘述了。

直接说 结论 吧: Spring加载顺序 为 从左到右顺序加载 ,后加载的会 覆盖 先加载的属性值。

另外需要注意的是 : @PropertySource 默认加载 xxx.properties类型 的配置文件,不能加载 YML格式 的配置文件。如何解决呢?下面来解决这一问题

对应配置文件:

编写PropertiesController

扩展功能

application.yml 主配置文件

application-dev.yml 开发配置文件

application-prod.yml 生产配置文件

application-test.yml 测试配置文件

(1)主配置文件:配置激活选项

(2)其他配置文件:指定属于哪个环境(同yml,只不过表现形式是 key=value 的,三个配置文件分别是: application-dev.properties , application-prod.properties , application-test.properties )

?无论是使用上述 多文档块 的方式,还是新建 application-test.yml 文件,都可以在配置文件中指定 spring.profiles.active=test 激活指定的profile。

感谢阅读小生文章。祝大家早日富可敌国,实现财富自由。

写文不易 ,一定要 点赞、评论、收藏哦 , 感谢感谢感谢!!!

鹏仔 微信 15129739599

百科狗 baikegou.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

  • 上一篇:已经是第一篇了
  • 下一篇:已经是最后一篇了
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)