spring-boot 速成(5) profile区分环境
maven中的profile概念,在spring-boot中一样适合,只要约定以下几个规则即可:
一、不同环境的配置文件以"application-环境名.yml"命名
举个粟子:

如果有二个环境dev、prod,项目工程中有上述二个文件即可。
二、主配置文件application.yml中,显式激活某个环境

这样默认就激活了dev环境
三、与环境相关的差异配置部分,放在各自的配置文件中
举第二个粟子


四、线上部署/运行时动态环境切换
通常开发阶段默认激活的是dev环境,部署到线上时是prod环境,但是打包发布时,可能经常会忘记了改application.yml中的默认激活环境,可以参考下面的几种做法:
4.1 参考上一节的做法,部署时在./config下放置一个application.yml来覆盖默认的激活环境(这个可以在打包一键部署的shell脚本中自动处理)
4.2 启动shell脚本中,动态指定,例如 java -jar spring-boot-web-demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
4.3 也可以参考gradle项目中profile的通用做法(见之前的文章: gradle项目中profile的实现)
推荐用4.2的做法,简单!
spring-boot 速成(5) profile区分环境的更多相关文章
- 51. spring boot属性文件之多环境配置【从零开始学Spring Boot】
原本这个章节是要介绍<log4j多环境不同日志级别的控制的>但是没有这篇文章做基础的话,学习起来还是有点难度的,所以我们先一起了解下spring boot属性文件之多环境配置,当然文章中也 ...
- Spring boot结合Maven实现不同环境的配置
配置文件层次: pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http ...
- Spring Boot 利用 nginx 实现生产环境的伪热更新
当我们在服务器部署Java程序,特别是使用了 Spring Boot 生成单一 Jar 文件部署的时候,单一文件为我们开发单来的极大的便利性,保障程序的完整性.但同时对我们修改程序中的任何一处都带来重 ...
- Spring Boot 2.4 对多环境配置的支持更改
在目前最新的Spring Boot 2.4版本中,对配置的加载机制做了较大的调整.相关的问题最近也被问的比较多,所以今天就花点时间,给大家讲讲Spring Boot 2.4的多环境配置较之前版本有哪些 ...
- Spring Boot 使用properties如何多环境配置
当我们使用properties文件作为Spring Boot的配置文件而不是yaml文件时,怎样实现多环境使用不同的配置信息呢? 在Spring Boot中,多环境配置的文件名需要满足 ...
- 4、spring boot 配置文件之profile
Profile 1.多Profile文件 我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml 默认使用application.prop ...
- Spring Boot中实现logback多环境日志配置
在Spring Boot中,可以在logback.xml中的springProfile标签中定义多个环境logback.xml: <springProfile name="produc ...
- Spring Boot系列之-profile
Spring Boot profile用于分离不同环境的参数配置,通过spring.profile.active参数设置使用指定的profile. 在Spring Boot中应用程序配置可以使用2种格 ...
- spring boot 整合 quartz 集群环境 实现 动态定时任务配置【原】
最近做了一个spring boot 整合 quartz 实现 动态定时任务配置,在集群环境下运行的 任务.能够对定时任务,动态的进行增删改查,界面效果图如下: 1. 在项目中引入jar 2. 将需要 ...
随机推荐
- XMPP 基础
CHENYILONG Blog XMPP 基础 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong ...
- Redis配置文件介绍
Redis在源码包中存放了一个Redis配置实例文件,文件中对各个配置点进行了简单的介绍,我也通过这个文件来对Redis的一些配置进行一些简单介绍. 一.UNITS(单位)[了解] 1.Redis服务 ...
- Linux的软中断处理实现 【转】
转自:http://blog.chinaunix.net/uid-25909619-id-3070190.html 一.概念 首先我们要知道为什么中断需要下半部 .我们可以想象一下,如果没有下半部 ...
- 创建.symlnk文件
本文转自:https://zhidao.baidu.com/question/1695955535823679548.html 1 2 3 4 5 6 7 8 9 10 11 创建符号链接. MK ...
- javascript-dom文档对象模型2
每个标签都是一个对象 一:查找元素 1.直接查找 document.getElementById 根据ID获取一个标签 document.getElementsByName 根据name属性获取标签集 ...
- 使用css实现移动端导航条滚动
<div class="tab"> <div class="table-item"> <span class="tab- ...
- Java中抽象类概述
抽象类 1.抽象类的定义 抽象类是为子类提供一个规范,这就必须联系到继承: 抽象类的制定就是让子类继承的: public abstract 类名{ //类体 //抽象方法 修饰符 abstract ...
- 集合类List、Set、Map的区别、联系和遍历方式
说集合之前,先说说数组和集合: 1.数组长度是固定的,当超过容量后会在内存中重新创建一个原来数组1.5倍长度的新数组,再把元素存进去:数组既可以存储基本数据类型,又可以存储引用数据类型. 2.集合长度 ...
- 我们在部署 HTTPS 网站时,该如何选择SSL证书?
我们在部署 HTTPS 网站时,该如何选择SSL证书? 首次部署HTTPS网站的同学对选择什么样的SSL证书多多少少都有点迷茫. 这里考虑的因素确实不少:是否支持多域名.泛域名,价格,信息泄露的保额, ...
- 移动网络简介与RRC
1.移动网络简介 1G:表示第一代移动通讯技术,以模拟技术为基础的蜂窝无线电话系统,如现在已经淘汰的模拟移动网.1G无线系统在设计上只能传输语音流量,并受到网络容量的限制. 2G:第二代手机通信技术规 ...