如何进行springBoot yml文件的list读取问题总结
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,如何进行springBoot yml文件的list读取问题总结,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。springBoot y
千家信息网最后更新 2025年11月13日如何进行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安全错误
数据库的锁怎样保障安全
联网实现仓库管理软件开发
甘肃网络技术开发案例
计算机三级网络技术2
server服务器过载
学生网络安全图文简报
互联网科技创新应用案例
数据库技术与php的关系
江西管理类软件开发
多台服务器可以同时管理吗
数据库地址用外网还是内网
网络安全特殊招录
新增的APN服务器写什么
崩坏3米哈游服务器在哪里
后端数据连接数据库的过程
珠海教育软件开发收费
lol连不上聊天服务器
重庆乐配互联网科技有限公司
jsp查询数据库sin
java软件开发图形界面
国际服战斗服务器怎么没有反应
什么数据库适合存储文本数据
山东大土网络技术
山东通用软件开发代理价钱
中国知网数据库默认的是什么
广州新华互联网科技大学
数据库恢复技术封锁
国资委 网络安全等级保护
iosapp软件开发哪家靠谱
计算机网络技术学什么的通俗点
加强网络安全和信息化总结