Spring Boot中优雅的获取yml文件工具类
如何在springboot中优雅的获取.yml文件工具类呢
代码如下:
packagecom.common.base.utils.base;
importcom.common.base.generator.ResourceManager;
importorg.yaml.snakeyaml.Yaml;
importjava.io.InputStream;
importjava.util.HashMap;
importjava.util.Map;
/**
*yml文件工具类
*/
publicclassYmlUtils{
privatestaticStringbootstrap_file="bootstrap.yml";
privatestaticMapresult=newHashMap<>();
/**
*根据文件名获取yml的文件内容
*@return
*/
publicstaticMapgetYmlByFileName(Stringfile){
result=newHashMap<>();
if(file==null)
file=bootstrap_file;
InputStreamin=ResourceManager.class.getClassLoader().getResourceAsStream(file);
Yamlprops=newYaml();
Objectobj=props.loadAs(in,Map.class);
Mapparam=(Map)obj;
for(Map.Entryentry:param.entrySet()){
Stringkey=entry.getKey();
Objectval=entry.getValue();
if(valinstanceofMap){
forEachYaml(key,(Map)val);
}else{
result.put(key,val.toString());
}
}
returnresult;
}
/**
*根据key获取值
*@paramkey
*@return
*/
publicstaticStringgetValue(Stringkey){
Mapmap=getYmlByFileName(null);
if(map==null)returnnull;
returnmap.get(key);
}
/**
*遍历yml文件,获取map集合
*@paramkey_str
*@paramobj
*@return
*/
publicstaticMapforEachYaml(Stringkey_str,Mapobj){
for(Map.Entryentry:obj.entrySet()){
Stringkey=entry.getKey();
Objectval=entry.getValue();
Stringstr_new="";
if(StringUtils.isNotNull(key_str)){
str_new=key_str+"."+key;
}else{
str_new=key;
}
if(valinstanceofMap){
forEachYaml(str_new,(Map)val);
}else{
result.put(str_new,val.toString());
}
}
returnresult;
}
/**
*获取bootstrap.yml的name
*@return
*/
publicstaticStringgetApplicationName(){
returngetYmlByFileName(bootstrap_file).get("spring.application.name");
}
/**
*获取bootstrap.yml的name
*@return
*/
publicstaticStringgetApplicationName1(){
Stringname=getYmlByFileName(bootstrap_file).get("spring.application.name");
returnname+"center";
}
publicstaticvoidmain(String[]args){
System.out.println(getApplicationName());
}
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接
热门推荐
4 带清的简短祝福语
10 结婚喜庆的祝福语简短
11 祝福语大全简短6个
12 姐妹结婚快乐祝福语简短
13 拜年啦祝福语大全简短
14 结婚祝福语简短精辟好记
15 他舅生日祝福语简短
16 龙年简短祝福语有哪些
17 许愿星姐妹祝福语简短
18 女朋友考试祝福语简短