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());
}
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短