栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring Boot中优雅的获取yml文件工具类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Boot中优雅的获取yml文件工具类

如何在spring boot中优雅的获取.yml文件工具类呢

代码如下:

package com.common.base.utils.base;
import com.common.base.generator.ResourceManager;
import org.yaml.snakeyaml.Yaml;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

public class YmlUtils {
  private static String bootstrap_file = "bootstrap.yml";
  private static Map result = new HashMap<>();
  
  public static Map getYmlByFileName(String file){
    result = new HashMap<>();
    if(file == null)
      file = bootstrap_file;
    InputStream in = ResourceManager.class.getClassLoader().getResourceAsStream(file);
    Yaml props = new Yaml();
    Object obj = props.loadAs(in,Map.class);
    Map param = (Map) obj;
    for(Map.Entry entry:param.entrySet()){
      String key = entry.getKey();
      Object val = entry.getValue();
 
      if(val instanceof Map){
 forEachYaml(key,(Map) val);
      }else{
 result.put(key,val.toString());
      }
    }
    return result;
  }
  
  public static String getValue(String key){
    Map map = getYmlByFileName(null);
    if(map==null)return null;
    return map.get(key);
  }
  
  public static Map forEachYaml(String key_str,Map obj){
    for(Map.Entry entry:obj.entrySet()){
      String key = entry.getKey();
      Object val = entry.getValue();
      String str_new = "";
      if(StringUtils.isNotNull(key_str)){
 str_new = key_str+ "."+key;
      }else{
 str_new = key;
      }
      if(val instanceof Map){
 forEachYaml(str_new,(Map) val);
      }else{
 result.put(str_new,val.toString());
      }
    }
    return result;
  }
  
  public static String getApplicationName(){
    return getYmlByFileName(bootstrap_file).get("spring.application.name");
  }
  
  public static String getApplicationName1(){
    String name = getYmlByFileName(bootstrap_file).get("spring.application.name");
    return name + "center";
  }
  public static void main(String[] args) {
    System.out.println(getApplicationName());
  }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对考高分网的支持。如果你想了解更多相关内容请查看下面相关链接

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/139580.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号