zoukankan      html  css  js  c++  java
  • springboot动态读取properties 和yml的配置

    properties使用PropertiesLoaderUtils,yml使用YamlPropertySourceLoader

    application.properties

    microsoft.definition.schema=https://websiate/....
    microsoft.definition.action.input.NOTIFICATION.uri=https://websiate/....
    microsoft.definition.action.input.DEVICE_CMD.uri=https://websiate/....

    java读取的代码

    String uri = "microsoft.definition.action.input." + actionsType + ".uri";
    Properties properties = PropertiesLoaderUtils.loadAllProperties("application.yml");
                    String ActionsInputUri = properties.getProperty(uri);
                    definiteActionUriMap.put(actionsType, ActionsInputUri)

    yml读取的版本,且区分环境

    application.yml

    spring:
      application:
        name: codeconvert
      profiles:
        active: dev

    application-dev.yml

    microsoft:
      definition:
        schema: https://website/..
        action:
          input:
            NOTIFICATION:
              uri: https://website/..
            DEVICE_CMD:
              uri: https://website/..

    application-test.yml

    microsoft:
      definition:
        schema: https://website/test
        action:
          input:
            NOTIFICATION:
              uri: https://website/test
            DEVICE_CMD:
              uri: https://website/test
     @Value("${spring.profiles.active}")
        public String active;
    
    //具体执行代码
       String uri = "microsoft.definition.action.input." + actionsType + ".uri";
                    Resource activeresource=new ClassPathResource(active==null?("application.yml"):"application-"+active+".yml");
                    List<PropertySource<?>> load = new YamlPropertySourceLoader().load(uri, activeresource);
                    String ActionsInputUri ="";
                    if(load!=null&&!load.isEmpty()){
                         ActionsInputUri =  load.get(0).getProperty(uri)==null?"":load.get(0).getProperty(uri).toString();
                        definiteActionUriMap.put(actionsType, ActionsInputUri);
                    }
  • 相关阅读:
    大物—⑦热力学基础1
    组原——③系统总线
    组原——①计算机系统概论
    递归
    字符串
    Linux下安装glibc-2.14,解决“`GLIBC_2.14' not found”问题
    libc.so.6被删除修复ln: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
    正则表达式高级用法(分组与捕获)
    查看Android应用包名、Activity的几个方法
    logcat随笔
  • 原文地址:https://www.cnblogs.com/zhian/p/14658691.html
Copyright © 2011-2022 走看看