springboot中spring.profiles.include的妙用。

我们有这样的一个springboot项目。项目分为开发、测试、生产三个不同阶段(环境),每个阶段都会有db、ftp、redis等的不同配置信息。我们可以使用spring.profiles.include来实现三种不同环境的一键切换。

项目总(入口)配置文件:

bootstrap.yml  ,内容如下

spring.profiles.active:  dev  #dev、test、prod 三种配置可以在这里进行一键切换,默认激活 dev(开发)环境配置

项目开发环境配置文件:

application-dev.yml (开发环境入口配置)、application-devDb.yml 、application-devFtp.yml、application-devRedis.yml

application-dev.yml 中含有如下内容

spring.profiles.include: devDb,devFtp,devRedis

项目测试环境配置文件:

application-test.yml (测试环境入口配置)、application-testDb.yml 、application-testFtp.yml、application-testRedis.yml

application-test.yml 中含有如下内容

spring.profiles.include: testDb,testFtp,testRedis

项目生产环境配置文件:

application-prod.yml (生产环境入口配置)、application-prodDb.yml 、application-prodFtp.yml、application-prodRedis.yml

application-prod.yml 中含有如下内容

spring.profiles.include: prodDb,prodFtp,prodRedis

spring.profiles.include 的作用是可以叠加激活新的profile ,这样可以在总的项目配置(bootstrap.yml)中实现一键切换dev、test、prod三者不同环境, 即

切换为dev时,同时激活了dev、devDb、devFtp、devRedis 的profile

切换为test时,同时激活了test、testDb、testFtp、testRedis 的profile

切换为prod时,同时激活了prod、prodDb、prodFtp、prodRedis 的profile

另外: 在yml配置文件中配置List<String> 的值,可以采用  -子项 的方式,如 :

spring.profiles.include:

- 子项1

- 子项2

- 子项3

也可以采用 逗号分隔元素列表的方式,如:

spring.profiles.include: 子项1,子项2,子项3    
---------------------
作者:jasnet_u
来源:CSDN
原文:https://blog.csdn.net/jasnet_u/article/details/82995845
版权声明:本文为博主原创文章,转载请附上博文链接!

springboot中spring.profiles.include的更多相关文章

  1. springboot中spring.profiles.include的妙用

    我们在开发Spring Boot应用时,通常同一套程序会被应用和安装到几个不同的环境,比如:开发.测试.生产等.其中每个环境的数据库地址.服务器端口等等配置都会不同,如果在为不同环境打包时都要频繁修改 ...

  2. springboot中spring.profiles.active来引入多个properties文件 & Springboot获取容器中对象

    1.    引入多个properties文件 很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据, ...

  3. SpringBoot利用spring.profiles.active=@spring.active@不同环境下灵活切换配置文件

    一.创建配置文件 配置文件结构:这里建三个配置文件,application.yml作为主配置文件配置所有共同的配置:-dev和-local分别配置两种环境下的不同配置内容,如数据库地址等. appli ...

  4. 对狂神说java的springboot中spring security的总结

    1.spring security的环境搭建 首先新建一个springboot项目,只够选web中的spring web依赖 然后在pom.xml导入相关依赖 <!--thymeleaf模块-- ...

  5. spring-boot:run启动时,指定spring.profiles.active

    Maven启动指定Profile通过-P,如mvn spring-boot:run -Ptest,但这是Maven的Profile. 如果要指定spring-boot的spring.profiles. ...

  6. springboot中配置文件application.properties的理解

    前言 Spring Boot使用"习惯优于配置"(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来.所以,我们要想把Sprin ...

  7. spring boot 入门 使用spring.profiles.active来分区配置

    很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用profile在不同的环境 ...

  8. spring boot 入门 使用spring.profiles.active来分区配置(转)

    很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用profile在不同的环境 ...

  9. SpringBoot中使用Spring Data Jpa 实现简单的动态查询的两种方法

    软件152 尹以操 首先谢谢大佬的简书文章:http://www.jianshu.com/p/45ad65690e33# 这篇文章中讲的是spring中使用spring data jpa,使用了xml ...

随机推荐

  1. MYSQL之MHA集群

    环境 manager 192.168.137.141 master1 192.168.137.144 master2 192.168.137.145 slave 192.168.137.141 vip ...

  2. 闭包引起的onclick不起作用

    问题描述:在html页面绑定onclick="cli()" 方法,定义在$(function( function cli(){} ))不起作用 $(function(){ func ...

  3. Git Add,Git别名等

    一,Git  Add 1.  git add -A   保存所有的修改 2.  git add .     保存新的添加和修改,但是不包括删除 3.  git add -u   保存修改和删除,但是不 ...

  4. Eclipse查看Servlet源码

    Eclipse查看Servlet源码 @(Java) 1.servlet-api 和 javax.servlet-api的区别 在正式查看Servlet源码前,我们首先要分清楚上述两个jar包的区别. ...

  5. 清理sqlserver 2012 日志文件

    http://www.cnblogs.com/q149072205/p/4380944.html 1.先把数据库设置为简单模式(右击数据库名->点'属性'->点'选项'->恢复模式改 ...

  6. MongoDB NoSQL 常用指令

    查询 日期区间 db.<collections>.find({"service_name":"xxx"}).sort({ update_time:- ...

  7. P2761 软件补丁问题

    P2761 软件补丁问题 思路 貌似不用网络流,直接状态压缩 用spfa跑最短路,直接判断是否能过 位运算太渣了,WA了好几发 代码 #include <bits/stdc++.h> us ...

  8. P4980 【模板】Polya定理

    思路 polya定理的模板题,但是还要加一些优化 题目的答案就是 \[ \frac{\sum_{i=1}^n n^{gcd(i,n)}}{n} \] 考虑上方的式子怎么求 因为\(gcd(i,n)\) ...

  9. 配置和运行 MatchNet CVPR 2015 MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching

    配置和运行 MatchNet CVPR 2015 GitHub: https://github.com/hanxf/matchnet 最近一个同学在配置,测试这个网络,但是总是遇到各种问题. 我也尝试 ...

  10. Docker1之Container

    Document An image is a lightweight, stand-alone, executable package that includes everything needed ...