SpringBoot系列之@PropertySource读取yaml文件

Stella981
• 阅读 671

SpringBoot系列之@PropertySource支持yaml文件读取

最近在做实验,想通过@PropertySource注解读取配置文件的属性,进行映射,习惯上用properties都是测试没问题的,偶然换成yaml文件,发现都读取不到属性值

因为yaml语法很简洁,比较喜欢写yaml配置文件,很显然,@PropertySource默认不支持yaml读取,我们改成@Value注解也是可以读取的,不过属性一堆的话,一个一个读取也是很繁琐的,通过网上找资料和自己实验验证,发现是可以实现对yaml支持

然后,为什么@PropertySource注解默认不支持?可以简单跟一下源码

@PropertySource源码:
SpringBoot系列之@PropertySource读取yaml文件
根据注释,默认使用DefaultPropertySourceFactory类作为资源文件加载类
SpringBoot系列之@PropertySource读取yaml文件

本文分享 CSDN - smileNicky。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Easter79 Easter79
3年前
springcloud的配置文件的读取顺序
SpringBoot默认支持properties和YAML两种格式的配置文件。前者格式简单,但是只支持键值对。如果需要表达列表,最好使用YAML格式。SpringBoot支持自动加载约定名称的配置文件,例如application.yml。如果是自定义名称的配置文件,就要另找方法了。可惜的是,不像前者有@PropertySource这样方便的加载方式,
kenx kenx
3年前
SpringBoot 属性配置文件数据注入配置和yml与properties区别
前言我们知道SpringBoot通过配置类来解放一堆的xml文件配置,通属性配置文件,来进行,系统全局属性配置,这样极大的简化了我们开发过程,javaweb也可以甜甜的从此快速配置SpringBoot默认加载支持application.properties、application.yaml和application.yml三种拓展名结尾的全局属性配
Stella981 Stella981
3年前
K8s创建pod yaml文件详解
kubernetes创建pod的yaml文件,参数说明apiVersion:v1指定api版本,此值必须在kubectlapiversion中kind:Pod指定创建资源的角色/类型metadata:资源的元数据/属性name:web04pod资源的名字,在同一个namespace中必须唯一lab
Stella981 Stella981
3年前
ROS环境读取yaml文件中数组
利用ROS自带的XmlRpc::XmlRpcValue实现一维数组或者二位数组等类似json数据的读取C代码实现如下XmlRpc::XmlRpcValuescanner_params;nh.getParam("scanners",scanner_params);for(size_ti0;i<s
Stella981 Stella981
3年前
SpringBoot集成mybatis以及自动化测试代码实现
Mybatis和logback的应用配置1、在module的pom.xml文件中,加载springboot和swagger、lombok、fastjson、mysql、mybatis包2、在resources中添加配置:配置文件有两种,一种是properties,另一种是yaml,这里使用yamlyaml配
Easter79 Easter79
3年前
SpringBoot集成mybatis以及自动化测试代码实现
Mybatis和logback的应用配置1、在module的pom.xml文件中,加载springboot和swagger、lombok、fastjson、mysql、mybatis包2、在resources中添加配置:配置文件有两种,一种是properties,另一种是yaml,这里使用yamlyaml配
Easter79 Easter79
3年前
SpringBoot系列之@PropertySource读取yaml文件
SpringBoot系列之@PropertySource支持yaml文件读取最近在做实验,想通过@PropertySource注解读取配置文件的属性,进行映射,习惯上用properties都是测试没问题的,偶然换成yaml文件,发现都读取不到属性值因为yaml语法很简洁,比较喜欢写yaml配置文件,很显然,@PropertySource默认不支持ya
Stella981 Stella981
3年前
Golang 入门系列(九) 如何读取YAML,JSON,INI等配置文件
实际项目中,读取相关的系统配置文件是很常见的事情。今天就来说一说,Golang是如何读取YAML,JSON,INI等配置文件的。1\.json使用JSON应该比较熟悉,它是一种轻量级的数据交换格式。层次结构简洁清晰,易于阅读和编写,同时也易于机器解析和生成。  1.创建conf.json:{
Stella981 Stella981
3年前
Kubernetes1.15 部署 coredns
coredns.yaml文件如下所示__MACHINE_GENERATED_WARNING__apiVersion:v1kind:ServiceAccountmetadata:name:corednsnamespace:kubesystemlabels