yaml文件读取转化为类
2024-10-21 11:52:35
首先你要有一个文件读取的方法,写一个根据传入路径 + 类来自动返回对应类的方法。
/**
* 根据传入的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;
}
}
最新文章
- SqlServer表结构查询
- Hanoi问题java解法
- printf(";%*s%s%*s";,——)是什么?
- wordpress添加文章浏览统计(刷新不重复)
- php + mysql 分布式事务(转)
- git终端提示符
- Windows 8 – Reason 442: Failed to enable Virtual Adapter
- IP地址和硬件地址 ARP协议
- ant在持续集成的应用
- [转载]linux修改open files数
- .NET英文技术文章导读(2017-02-09)
- easyUI 创建有复选框的table.datagrid
- Linux(Ubuntu)使用日记(零)------使用Linux的理由
- HAAR与DLib的实时人脸检测之实现与对比
- select、poll、epoll之间的区别总结[整理]【转】
- eclipse和jdk的版本问题,比如printf()出错
- RHEL yum
- Cmake 编译opengl开源库glfw工程及使用
- mysql学习笔记-1.下载与安装
- 编译安装openssl报错:POD document had syntax errors at /usr/bin/pod2man line 69. make: *** [install_docs]