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);
                    }
  • 相关阅读:
    Laravel 学习笔记之文件上传
    Composer学习
    Laravel 学习笔记之数据库操作——Eloquent ORM
    PHP至Document类操作 xml 文件
    使用promise构建一个向服务器异步数据请求
    遍历DOM树
    关于tp验证码模块
    layui 封装自定义模块
    js进阶之路,关于UI资源的优化(转载)
    关于js 重载
  • 原文地址:https://www.cnblogs.com/zhian/p/14658691.html
Copyright © 2011-2022 走看看