首先你要有一个文件读取的方法,写一个根据传入路径 + 类来自动返回对应类的方法。

    /**
* 根据传入的path,加载配置文件内容到对应class中
*/
public static <T> T loadResources(String path,Class<T> clazz){
InputStream in = null;
try {
Yaml yaml = new Yaml();
// yaml文件路径
in = new FileInputStream(path);
return yaml.loadAs(in, clazz); } catch (IOException e) {
throw new RuntimeException(e.getMessage(), e);
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
throw new RuntimeException(e.getMessage(), e);
}
}
}
}

然后我们需要配置yaml文件及其对应实体类

注意事项!!!

①yaml文件中的内容必须对应实体类,只能少,不能多(yaml中有的字段,实体类必须有,实体类可以有自己的多的字段)

②实体类必须为public,否则yaml内容将无法加载

# yaml文件内容
versionUpdateSQL:
- version: 1.0.0
updateSQL:
- 1
- 2
- version: 1.0.1
updateSQL:
- 1
- 2
- version: 1.0.2
updateSQL:
- 1
- 2
// 实体类的内容
@Data
public class VersionUpdateSQLList {
private List<VersionUpdateSQL> versionUpdateSQL; @Data
public static class VersionUpdateSQL {
private String version;
private List<String> updateSQL;
}
}

yaml文件读取转化为类的更多相关文章

  1. python_selenium 之yaml文件读取(以读取元素信息为例)

    一.yaml源文件编写 二.对yaml文件内容的读取 #coding=gbkimport osimport yamlcurrent_path=os.path.dirname(__file__)yaml ...

  2. python之yaml文件读取封装

    import os import yaml from yamlinclude import YamlIncludeConstructor YamlIncludeConstructor.add_to_l ...

  3. SpringBoot 使用 @Value 从 YAML文件读取属性(转)

    在 YAML中有如下配置 paypal: mode:live 在类中,通过 @Value属性读取 @Value("${paypal.mode}") private String m ...

  4. SpringBoot 使用 @Value 从 YAML文件读取属性

    在 YAML中有如下配置 paypal: mode:live 在类中,通过 @Value属性读取 @Value("${paypal.mode}") private String m ...

  5. SpringBoot系列之@PropertySource读取yaml文件

    SpringBoot系列之@PropertySource支持yaml文件读取 最近在做实验,想通过@PropertySource注解读取配置文件的属性,进行映射,习惯上用properties都是测试没 ...

  6. Go读取yaml文件到struct类

    1.yaml文件准备 common: secretid: AKIDxxxxx secretKey: 3xgGxxxx egion: ap-guangzhou zone: ap-guangzhou-7 ...

  7. day11_单元测试_读取yaml文件中的用例,自动获取多个yaml文件内容执行生成报告

    一.使用.yaml格式的文件直接可以存放字典类型数据,如下图,其中如果有-下一行有缩进代表这是个list,截图中是整体是一个list,其中有两部分,第二部分又包含另外一个list 二.单元测试:开发自 ...

  8. Python读取Yaml文件

    近期看到好多使用Yaml文件做为配置文件或者数据文件的工程,随即也研究了下,发现Yaml有几个优点:可读性好.和脚本语言的交互性好(确实非常好).使用实现语言的数据类型.有一个一致的数据模型.易于实现 ...

  9. c++文件读取(一)---输入类使用和查找当前程序路径

    鉴于公司人员流动大,设计一个小的日志定位器,首先要读取日志文件 用输入输出流类操作文件比c的stdio更安全和容易,当然任何此类观点都是对大牛除外 首先是查找当前文件路径,如果用GetCurrentD ...

  10. //读取配置文件(属性文件)的工具类-ConfigManager

    package com.pb.news.util; import java.io.IOException;import java.io.InputStream;import java.sql.Resu ...

随机推荐

  1. 多资产VAR风险--基于python处理

    一.数据准备,先在excel表格上计算每日的波动率: excel数据为: 二.数据导入: import pandas as pd import numpy as np import akshare a ...

  2. python sys.argv(全局文本索引替换)

    #利用sys.argv(实现从程序外部向程序传递参数.)写一个脚本.#全局替换(old_str to new_str,filename)import sys #导入sys模块print(sys.arg ...

  3. JMeter 常用的几种断言方法

    一.Jmeter 断言背景 在使用Jmeter进行性能测试或者接口自动化测试工作中,经常会用到的一个功能,就是断言.断言是在请求的返回层面增加一层判断机制.因为请求成功了,并不代表结果一定正确,因此需 ...

  4. ChatGPT is at capacity right now.ChatGPT Plus subscriber login Add your email for a personalized login link的解决办法

    原因 你的ip地区用的人过多. 解决办法 在右侧页面填入邮箱,能收到邮件立刻就能登录,如果没有,就换地区试试,不行就等等吧 邮件示例:

  5. windows注册表的读

    1.打开 2.读取 //打开注册表 CString CDownDlg::GetPortCom(int nmber)//读取操作表,其类型为REG_SZ { CString ans; CString r ...

  6. 微信JS-SDK自定义分享接入的注意点

    微信文档 ,https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html, 在用微信自定义分享,遇到了几个坑,记录一 ...

  7. IO 多路复用 select/poll/epoll ---> Reactor ---> Netty

    什么是内核态和用户态 https://blog.csdn.net/qq_41709234/article/details/124320482 参考:https://www.cnblogs.com/lo ...

  8. 代码随想录训练营day 1 |704 二分查找 27移除算法

    LeetCode 704.二分查找(C++) 题目链接 704.二分查找 题目描述:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 ...

  9. JVM相关总结

    https://www.cnblogs.com/jiangym/p/15885161.html JVM内存模型(JMM) 根据代码画出下面的JVM内存模型 public class Math { pu ...

  10. Eureka服务剔除下线

    1.参考文档: https://www.centoscn.vip/4317.html 2.剔除服务 格式: curl -X PUT "http://ip:port/eureka/apps/{ ...