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);
                    }
  • 相关阅读:
    模拟循环单击事件实现layout中间panel全屏
    easyui tree自定义属性用法
    jquery给动态添加的dom元素绑定事件
    基于easyui fom分组插件
    ubuntu adb 安装
    vim状态保存跟恢复
    ubuntu-删除内核
    u盘安装14.04ubuntu系统
    findFocus-获得拥有焦点的控件
    xml中控件调用构造方法
  • 原文地址:https://www.cnblogs.com/zhian/p/14658691.html
Copyright © 2011-2022 走看看