SpringBoot激活profiles
多环境是最常见的配置隔离方式之一,可以根据不同的运行环境提供不同的配置信息来应对不同的业务场景,在SpringBoot内支持了多种配置隔离的方式,可以激活单个或者多个配置文件。
激活Profiles的方式
激活的profiles要在项目内创建对应的配置文件,格式为application-{profile}.yml。
命令行方式
命令行方式是一种外部配置的方式,在执行java -jar命令时可以通过--spring.profiles.active=test的方式进行激活指定的profiles列表。
使用方式如下所示:
java -jar order-service-v1.0.jar --spring.profiles.active=dev &> order-service.log &
复制代码
系统变量方式
Mac/Linux系统配置环境变量
编辑环境变量配置文件/etc/profile,添加名为SPRING_PROFILES_ACTIVE的环境变量,如下所示:
# spring 环境激活
export SPRING_PROFILES_ACTIVE=dev
复制代码
Windows系统配置环境变量
环境变量的配置方式请参考Java环境变量配置,新建一个名为SPRING_PROFILES_ACTIVE的系统环境变量,设置变量的值为dev即可。
系统变量的方式适用于系统下所部署统一环境的
SpringBoot应用程序,如统一部署的都是prod环境的应用程序。
Java系统属性方式
Java系统属性方式也是一种外部配置的方式,在执行java -jar命令时可以通过-Dspring.profiles.active=test的方式进行激活指定的profiles列表。
使用方式如下所示:
java -Dspring.profiles.active=dev -jar order-service-v1.0.jar &> order-service.log &
复制代码
注意:
-D方式设置Java系统属性要在-jar前定义。
配置文件方式
配置文件方式是最常用的方式,不过灵活性不强,局限性比较大,不建议使用这种方式来激活配置文件。
我们只需要在application.yml配置文件添加配置即可,使用方式如下所示:
spring:
profiles:
# 激活profiles
active: dev
复制代码
优先级
命令行方式 > Java系统属性方式 > 系统变量方式 > 配置文件方式
复制代码
经过测试**命令行方式的优先级最高,而内部配置文件方式则是最低的**。
激活多个profile
如果需要激活多个profile可以使用逗号隔开,如:--spring.profiles.active=dev,test
敲黑板划重点
每一个应用项目都会用到大量的配置文件或者外部配置中心,而配置信息的激活是必不可少的一步,尤为重要。
建议大家使用系统环境变量的方式来激活指定profile的配置,这种方式比较简单,系统全局都可以使用(注意:系统全局代表着该系统下所运行的全部SpringBoot应用都会采用该配置),当然也可以采用优先级替换的规则进行单独指定。
作者:恒宇少年
链接:https://juejin.im/post/5dafb4d85188251c7b592ef0
SpringBoot激活profiles的更多相关文章
- SpringBoot的Profiles根据开发环境和测试环境载入不同的配置文件
参考:https://www.cnblogs.com/bjlhx/p/8325374.html 1.需要有一个默认的配置文件,然后一个正式的配置文件,一个测试的配置文件.激活配置项,默认的配置文件ap ...
- SpringBoot基础系列-使用Profiles
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9996884.html SpringBoot基础系列-使用Profile 概述 Profi ...
- SpringBoot 源码解析 (二)----- Spring Boot精髓:启动流程源码分析
本文从源代码的角度来看看Spring Boot的启动过程到底是怎么样的,为何以往纷繁复杂的配置到如今可以这么简便. 入口类 @SpringBootApplication public class He ...
- springboot笔记05——profile多环境配置切换
前言 一个应用程序从开发到上线,往往需要经历几个阶段,例如开发.测试.上线.每个阶段所用到的环境的配置可能都是不一样的,Springboot 应用可以很方便地在各个环境中对配置进行切换.所以,今天主要 ...
- 一篇博客带你轻松应对Springboot面试
1. SpringBoot简介 SpringBoot是简化Spring应用开发的一个框架.他整合了Spring的技术栈,提供各种标准化的默认配置.使得我们可以快速开发Spring项目,免掉xml配置的 ...
- maven中profiles使用详解
使用的场景 常常遇到一些项目中多环境切换的问题.比如在开发过程中用到开发环境,在测试中使用测试环境,在生产中用生产环境的情况.springboot中提供了 spring.profile.active的 ...
- Jenkins部署码云SpringBoot项目到远程服务器
本文是上一篇文章的后续,上一篇只是利用Jenkins部署项目到本地,并启动,本文是将项目部署到远程服务器并执行. 1.环境准备 1.1 安装插件 上一篇文章已经介绍了需要安装的应用及插件,这一篇还需要 ...
- SpringBoot:使用Jenkins自动部署SpringBoot项目(二)具体配置
1.启动Jenkins 在浏览器输入ip:port后,进入Jenkins初始化界面,需要查看文件,得到密码. 输入密码进入初始化界面,选择推荐插件安装. 安装完成创建账号,进入Jenkins主界面. ...
- [Spring Boot] Spring Boot启动过程源码分析
关于Spring Boot,已经有很多介绍其如何使用的文章了,本文从源代码(基于Spring-boot 1.5.6)的角度来看看Spring Boot的启动过程到底是怎么样的,为何以往纷繁复杂的配置到 ...
随机推荐
- C# 后台服务器端 Get 请求函数封装
请求参数封装 /// <summary> /// 拼接 Get请求参数 /// </summary> /// <param name="parames" ...
- 服务网格Istio初探
1. 服务网格Istio初探 1.1. 什么是Istio 它是一个完全开源的服务网格.什么是服务网格? 这个术语通常用于描述构成这些应用程序的微服务网络以及应用之间的交互.随着规模和复杂性的增长,服务 ...
- android studio学习----调试---断点调试
Android Studio调试其实也非常方便,一般问题直接通过AS的DDMS的Logcat就可以搞定.AS支持类似Eclipse的DDMS的所有功能.这里要说的是疑难问题的调试方式,即断点调试. 首 ...
- mac python3 安装mysqlclient
brew install openssl export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/ pip install mysql ...
- 安装VMware Tools的步骤
点击[虚拟机]选项中的[安装VMware Tools],此时在Ubuntu的桌面上就会出现一个光盘图标. 如果之前已经安装过了,[虚拟机]选项中应为[重新安装VMware Tools]. 如果[重新安 ...
- Centos7 增量备份数据脚本
#!bin/bash#Automatic Backup Linux System Files#By Author www.jfedu.net#Define VariablesSOURCE_DIR=( ...
- python 获取当前,上级,上上级路径
import os print '***获取当前目录***' print os.getcwd() print os.path.abspath(os.path.dirname(__file__)) pr ...
- 项目Beta冲刺(5/7)(追光的人)(2019.5.27)
所属课程 软件工程1916 作业要求 Beta冲刺博客汇总 团队名称 追光的人 作业目标 描述Beta冲刺每日的scrum和PM报告两部分 队员学号 队员博客 221600219 小墨 https:/ ...
- 原生js的常用方法总结
=============== 通知: 博主已迁至<掘金>码字,博客园可能以后不再更新,掘金地址:https://juejin.im/post/5a1a6a6551882534af25a8 ...
- vue实现分页组件
创建pagination.vue /* * 所需参数 * total Number 总页数 * current Number 当前页面下标 * pageSize Number 页面显示条数 * siz ...