springBoot 启动指定配置文件环境多种方案
springBoot 启动指定配置文件环境理论上是有多种方案的,一般都是结合我们的实际业务选择不同的方案,比如,有pom.xml文件指定、maven命令行指定、配置文件指定、启动jar包时指定等方案,今天我们一一分享一下,以供参考:
1、pom文件配置方案
<profiles><profile><!-- 本地开发环境 --><id>dev</id><properties><profiles.active>dev</profiles.active></properties><!--配置默认的配置文件,idea开发右侧的maven-install中,profiles默认选中dev--><activation><activeByDefault>true</activeByDefault></activation></profile><profile><!-- 测试环境 --><id>test</id><properties><profiles.active>test</profiles.active></properties><!-- <activation><activeByDefault>true</activeByDefault></activation>--></profile><profile><!-- 生产环境 --><id>pro</id><properties><profiles.active>pro</profiles.active></properties><!-- <activation><activeByDefault>true</activeByDefault></activation>--></profile></profiles>
对应的配置文件举例:
application-dev.yml
application-test.yml
application-pro.yml
也可以是目录配置方式
此处配置三种环境,用哪个环境就把那里设置为true,然后clean、install 打包后设置好了。
另外此时在配置文件添加另外一个配置也行,指定到pom文件:
#环境配置开发时使用
spring.profiles.active=@profiles.active@
2、maven命令行打包指定
mvn clean package -Pdevmvn clean package -Ptestmvn clean package -Ppro
打包指定相应的配置文件。
3、配置文件指定
一般 application.properties 文件中指定环境
spring.profiles.active=test
指定下面的几个文件
4、启动jar包时指定
nohup java -jar demo-server.jar --spring.profiles.active = test > log.file 2>&1 &
直接启动指定test环境
5、虚拟机指定:
-Dspring.profiles.active=dev
6、使用时注意一下几点,配置文件加载顺序:
1)、同级情况下,application.properties文件优先级大于application.yml,前者会覆盖后者;
2)、springboot的默认加载路径有5个,分别是classpath:/、classpath:/config/、项目根路径、项目根路径/config/*/、项目根路径/config/,会从这5个路径下加载application.properties或application.yml;
3)、5个默认的加载路径的优先级为:项目根路径下的config > 项目根路径下的config/*/ > 项目根路径 > classpath:/config > classpath:/,前者会覆盖后者
7、综上6所述:优先级如下
1):根目录/config/application.properties
2):根目录/config/application.yml
3):根目录/application.properties
4):根目录/application.yml
5):classpath目录/config/application.properties
6):classpath目录/config/application.yml
7):classpath目录/application.properties
8):classpath目录/application.yml
到此,springXXX框架指定配置文件及加载的优先级问题分享完毕,大家详细测试一下,定会惊喜多多。
springBoot 启动指定配置文件环境多种方案相关推荐
- SpringBoot单元测试指定运行环境
1.配置文件直接指定 在配置文件中直接指定运行环境 spring:profiles:active: dev 2.在单元测试的启动项配置 -Dspring.profiles.active=dev 这种方 ...
- spring boot指定运行环境
文章目录 spring boot指定运行环境 1. 命令行指定的方式 springboot根据启动命令不同,执行不同配置文件 2. application.properties中添加spring.pr ...
- springboot多模块打包指定子模块环境配置文件
springboot多模块打包指定子模块环境配置文件 父pom.xml maven 命令:mvn clean package -Dmaven.test.skip=true -P uat 命令解析:清c ...
- Springboot 激活指定的配置文件
Springboot提供了很多方式,帮助我们实现不同环境应用配置的定制化.我们可以通过properties文件.yaml文件.环境变量和命令行参数定制化配置.这些配置的属性值可通过@Value注解注入 ...
- redis指定配置文件启动_redis基础知识整理-安装
1.安装wget,稍后使用wget命令下载redis源码 yum install wget -y 2.在根目录创建 redis 目录并进入到redis目录下 mkdir /redis cd /redi ...
- 用maven按环境打包SpringBoot的不同配置文件
利用maven按环境打包SpringBoot的不同配置文件 application-dev.properties对应开发环境 application-test.properties对应测试环境 app ...
- redis指定配置文件启动_Redis【简介amp;安装篇】
1 Redis简介 1.1 Redis是什么 Redis是一个开源的,使用ANSI C 编写的,高性能Key-Value的NoSQL数据库. 1.2 Redis特点 i. 基于内存. ii. 可持久化 ...
- 你只知道@Value?设置server.port就能定义端口号是如何实现的?springboot读取配置文件的多种方式以及源码解析
你只知道@Value?设置server.port就能定义端口号是如何实现的?springboot读取配置文件的多种方式以及原理解析 一.SpringBoot全局配置文件优先级 二.属性注入常用注解 1 ...
- linux启动jar服务命令,微服务编译、启动jar命令指定配置文件
在部署项目的时候会有dev.test.uat.prod等环境配置文件 有两种方法去指定配置文件: 1.在启动服务的时候指定: 2.编译打包的时候指定,如果此时已经指定则启动的时候就不用再指定了. 1. ...
最新文章
- android get请求最长字符,Android OKHTTP3的GET和POST方法(带basic auth)
- 史上最详细的微生物扩增子数据库整理
- 【阿里云课程】循环神经网络:RNN及其改进
- 简易VR眼镜:是玩具还是工具?
- 面试官问你Java内存区域你用new创建对象来解释
- sql server 2005 修改动态端口,连接字符串为:需要改成:IP地址+逗号+端口号才行...
- SQA定义、质量模型、SQA与测试的关系
- 树的存储_ 双亲表示法 及 双亲孩子表示法
- 程序人生之常见术语与名词解释
- linux tar 命令安装,Linux tar 命令 command not found tar 命令详解 tar 命令未找到 tar 命令安装 - CommandNotFound ⚡️ 坑否...
- 千斤顶装配图怎么画_机械制图——绘制千斤顶装配图教程.ppt
- C语言也能干大事第七节(如鹏基础)
- 计算机windows10怎么找word,win10系统word文件丢失如何找回?win10系统word文件丢失的找回方法...
- Qt中波兰语不显示尖音符
- Windows下进行域名映射并配置Nginx反向代理
- 百度人脸识别api php demo,百度人脸识别api实现及demo
- 数据分析思维(《数据分析思维:分析方法和业务知识》)
- node与npm版本对应关系以及使用nvm管理node版本
- 「wps教程」Word里的大神器隐藏技能
- “隐私—数据收集”问题的两难分析