如何进行springBoot yml文件的list读取问题总结
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,如何进行springBoot yml文件的list读取问题总结,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。springBoot y
千家信息网最后更新 2026年11月04日如何进行springBoot yml文件的list读取问题总结
如何进行springBoot yml文件的list读取问题总结,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
springBoot yml文件的list读取问题
折腾了很久,记录下。
配置如下
# 自定义数据上报信息xx: # 机组信息 machine1s: - name: XXXX frequency: null frequency-unit: null pressure: 0.01 pressure-unit: Pa flow: 0 flow-unit: NM3/H state: 停机 runtime: 17.5 runtime-unit: 天 - name: XXXX frequency: 42.4 frequency-unit: HZ pressure: 0.39 pressure-unit: Pa flow: 4730 flow-unit: NM3/H state: 运行 runtime: 12.5 runtime-unit: 天 - name: XXXX frequency: 46.4 frequency-unit: HZ pressure: 0.00 pressure-unit: Pa flow: 0 flow-unit: NM3/H state: 停机 runtime: 8.2 runtime-unit: 天 - name: XXXX frequency: 41.4 frequency-unit: HZ pressure: 0.39 pressure-unit: Pa flow: 9532 flow-unit: NM3/H state: 运行 runtime: 3.2 runtime-unit: 天 - name: XXXX frequency: null frequency-unit: null pressure: 0.38 pressure-unit: Pa flow: 4800 flow-unit: NM3/H state: 停机 runtime: 20.4 runtime-unit: 天 - name: XXXX frequency: null frequency-unit: null pressure: 0.01 pressure-unit: Pa flow: 0 flow-unit: NM3/H state: 停机 runtime: 7.5 runtime-unit: 天
1.定义配置类
@ConfigurationProperties(prefix = "xx")public class TXMachinesProperties { private List注意:
a.这里prefix写到接收对象的前一级即可;
b.这里的变量名必须要与配置的名称一致,才可自动接收。
2.定义启动的配置类
这里其实可与上面的配置类写在一起,但是一个类就是做一件事情,就做了隔离。
@Configuration@EnableConfigurationProperties({TXMachinesProperties.class})public class TXMachinesConfig {}3.使用方式
采用下面的方式即可。这里注意,由于使用这个yml的注解是属于SpringBoot的框架内进行的,因此这个属性注入只能在标有Spring的注解的类的范围内使用,不能在普通类使用。
@Autowired private TXWorkShopAlarmProperties txWorkShopAlarmProperties;
可以解决了~
读取yml文件里的list配置
YAML 支持以下几种数据类型
对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
纯量(scalars):单个的、不可再分的值
这里只介绍list类型的读取
yml里的list配置(以 - 开头的行表示构成一个数组:):
weixin: configs: - schId: 111 appId: 11111 appSecret: 11111 templateId: 111111 - schId: 2222 appId: 222222 appSecret: 2222222 templateId: 2222222
导入jar包
org.springframework.boot spring-boot-configuration-processor 2.2.1.RELEASE
写一个微信配置的实体类,将配置文件中配置的每一个属性的值,映射到这个实体类中
import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component;import java.util.List;@Component@Data@ConfigurationProperties(prefix = "weixin")public class WxConfig { private List configs; @Data public static class Config { private Integer schId; private String appId; private String appSecret; private String templateId; }} 拿到配置文件里的内容
1.注入该实体类
@Autowired private WxConfig wxConfig;
2.解析,我这里是将其转为学校id为key的map,方便我后面使用,按照自己想要的读取就好了JSON.toJSONString(wxConfig)
public MapgetWeiXinConfig(){ JSONObject o = JSON.parseObject(JSON.toJSONString(wxConfig)); JSONArray jsonArray = o.getJSONArray("configs"); Map map = new HashMap<>(); if (jsonArray.size() != 0) { for (int j = 0; j < jsonArray.size(); j++) { Map map2 = new HashMap(); JSONObject o1 = jsonArray.getJSONObject(j); String appId = o1.getString("appId"); String appSecret = o1.getString("appSecret"); Integer schId = o1.getIntValue("schId"); String templateId = o1.getString("templateId"); map2.put("appId", appId); map2.put("appSecret", appSecret); map2.put("schId", schId); map2.put("templateId", templateId); map.put(schId,map2); } } return map; }
调用方法getWeiXinConfig(),输出map的输出结果:

关于如何进行springBoot yml文件的list读取问题总结问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
配置
文件
问题
实体
信息
内容
对象
属性
数据
数组
方式
方法
更多
注解
类型
面的
帮助
解答
输出
运行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手冲咖啡和咖啡机区别
亿人帮互联网科技有限公司
科技互联网龙头
互联网和科技创新
亿策互联网科技
北京互联网络科技有限公司
互联网养老 桔豆科技
居家互联网科技有限公司
科技伦理 互联网公司
老年人脱离互联网科技的作文
互联网实体化科技化
北京三清互联网科技
移动互联网科技股
想开互联网科技公司怎么样
中国科技创新与世界互联网大会
广州新华互联网科技学校电竞方面
互联网金融科技名词解释
为客找房互联网科技公司怎么样
互联网企业科技类企业如何做账
三亚科技创新互联网基地
科技互联网
艾特科技互联网
赫美联合互联网科技
互联网科技公司的市场部门
皮皮虾互联网科技有限公司
宇信科技在杭州互联网排第几
神州科技互联网有限公司
唐山双旺合互联网科技产业园
互联网对科技影响
瑞安市蟠桃会互联网科技有限公司