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);
}
springboot动态读取properties 和yml的配置的更多相关文章
- SpringBoot使用注解(@value)读取properties(yml)文件中 配置信息
为了简化读取properties文件中的配置值,spring支持@value注解的方式来获取,这种方式大大简化了项目配置,提高业务中的灵活性. 1. 两种使用方法1)@Value("#{co ...
- springboot读取properties和yml配置文件
一.新建maven工程:springboot-configfile-demo,完整工程如下: pom.xml <?xml version="1.0" encoding=&qu ...
- SpringBoot @Value读取properties文件的属性
SpringBoot在application.properties文件中,可以自定义属性. 在properties文件中如下示: #自定义属性 mail.fromMail.addr=lgr@163.c ...
- springboot的application.properties与.yml的区别
现在我们的application.properties文件内容是: server.port=8090 server.session-timeout=30 server.context-path= se ...
- springboot读取properties(yml)的几种常用方式
boot项目中一些秘钥等不常变动的信息大多存储在配置文件中,那么我们怎么获取配置文件中的属性呢? 以获取server端口号为例讲解几种方法:配置信息如下 一:使用@Value注解 @Value(&qu ...
- springboot工程读取配置文件application.yml的写法
现在流行springboot框架的项目,里面的默认配置文件为application.yml,我们怎样读取这个配置文件呢? 先贴上我得配置文件吧 目录结构 里面内容 1 写读取配置文件的工具类 @Con ...
- springboot工程读取配置文件application.yml的写法18045
现在流行springboot框架的项目,里面的默认配置文件为application.yml,我们怎样读取这个配置文件呢? 先贴上我得配置文件吧 目录结构 里面内容 1 写读取配置文件的工具类 @Con ...
- SpringBoot的读取properties文件的方式
转载:https://www.imooc.com/article/18252一.@ConfigurationProperties方式 自定义配置类:PropertiesConfig.java pack ...
- SpringBoot01 InteliJ IDEA安装、Maven配置、创建SpringBoot项目、yml属性配置、多环境配置、自定义properties配置
1 IntelliJ IDEA 安装 下载地址:点击前往 注意:需要下载专业版本的,注册码在网上随便搜一个就行啦 2 MAVEN工具的安装 2.1 获取安装包 下载地址:点击前往 2.2 安装过程 到 ...
随机推荐
- 聊聊 node 如何优雅地获取 mac 系统版本
背景 今天突然碰到了一个兼容性需求,需要根据不同 macOS 版本,进行不同的兼容性处理. 没想到看似简单的需求,中间也经历了一番波折,好在最后解决了问题. 在此记录一下解决问题的过程,也方便其他有类 ...
- 243张图片为你解析轻量级自动运维化工具Ansible
Ansible 是什么 ? ansible架构图 ansible特性 模块化:调用特定的模块,完成特定的任务: 基于Python语言研发,由Paramiko, PyYAML和Jinja2三个核心库实 ...
- 从防御者视角来看APT攻击
前言 APT防御的重要性毋庸讳言,为了帮助各位师傅在防御方面建立一个总体认识,本文会将APT防御方法分为三类,分别是:监控.检测和缓解技术,并分别进行梳理,介绍分析代表性技术.这一篇分析现有的监控技术 ...
- Glide源码解析二---into方法
转载请标明出处,维权必究: https://www.cnblogs.com/tangZH/p/12543154.html Glide作为一个强大的图片加载框架,已经被android官方使用,所以,明白 ...
- Vue的Vuex的使用
一.Vuex是什么? 1:Vuex是一个专为vue.js应用程序开发的状态管理模式,核心就是一个store仓库,采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化 ...
- 理解ASP.NET Core - 发送Http请求(HttpClient)
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 前言 在.NET中,我们有很多发送Http请求的手段,如HttpWebRequest.WebC ...
- 循环中的scanf处理了换行符怎么破
这种情况一般在循环中要求输入一个字符时容易出现问题. 问题在于缓冲区,缓冲区中存留了换行符,所以... 运行下面代码: int main(void){ char a=0; while(1){ scan ...
- linux篇-linux下源码安装nginx
LNMP模式 后续继续更新,先搭建nginx 安装环境gcc gcc-c++ 2 下载源码包解压 配置第一个报错 安装openssl openssl-devel yum -y install open ...
- 147_Power BI Report Server demo演示
焦棚子的文章目录 服务器地址:http://pbirs.jiaopengzi.com/reports 用户名:pbirs 密码:pbirs 分别用pc网页.pc桌面power bi软件以及手机端pow ...
- H5 页面 上使用js实现一键复制功能
2.解决苹果手机浏览器 无法使用的问题 上面的方法在 iphone 手机 safari浏览器失效的问题 其实就是使用输入框先显示然后模拟选择复制在隐藏输入框