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

    /**
* 根据传入的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. Golang如何快速构建一个CLI小工示例

    这篇文章主要为大家介绍了Golang如何快速构建一个CLI小工具详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪 如何Golang快速构建一个CLI小工具 在现实开发的 ...

  2. tinyriscv仿真环境

    环境要求:iverilog gtkwave 在sim目录新建makefile,内容如下. BIN=rv32ui-p-jal all: hexf comp vvp hexf: cp ../tests/i ...

  3. [NPUCTF2020]EzRSA

    [NPUCTF2020]EzRSA 题目: from gmpy2 import lcm , powmod , invert , gcd , mpz from Crypto.Util.number im ...

  4. iOS 防止charles抓包

    方案一:检查手机Wifi是否设置了代理     public func fetchHttpProxy() -> Bool {        guard let proxy = CFNetwork ...

  5. Windos下 java后台软件服务化(举例)-WinSW

    WinSW-软件服务化 1.1 举例:ApiWintool可执行jar ApiWintool.exe ApiWintool.jar ApiWintool.xml install.cmd uninsta ...

  6. CentOS7 搭建 PXE 安装系统

    1. PXE介绍 2. 服务的搭建 2.1 DHCP服务搭建 2.1.1 安装DHCP软件包 2.1.2 修改dhcp配置文件 2.1.3 开启DHCP服务 2.1.4 查看dhcp服务是否开启 2. ...

  7. Excel列动态导出

    列动态导出的Excel,大致整了一下,没有过多深入. 1.首先定义列样式 package a.b.common.util.excel.stream; import java.util.Objects; ...

  8. 解决GitHub下载速度慢下载失败的问题

    最近在GitHub上拉取代码时,每次git clone都是文件下载完了发现连接就断掉了,或者下载压缩包显示网络连接错误的情况.下面介绍找到的解决方法: 1.打开码云(当然不是福报)https://gi ...

  9. Unity简单使用 Addressables远端打包流程

    跟着一步步操作即可 1.先打开一个unity项目 2.导入插件资源包地址,点击如图片所示 3.最后点击导入就行了也就是第三步 Install 4.这是在点击 Window 安装后Window/多了一个 ...

  10. 前端实现电子签名(web、移动端)通用组件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...