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 启动指定配置文件环境多种方案相关推荐

  1. SpringBoot单元测试指定运行环境

    1.配置文件直接指定 在配置文件中直接指定运行环境 spring:profiles:active: dev 2.在单元测试的启动项配置 -Dspring.profiles.active=dev 这种方 ...

  2. spring boot指定运行环境

    文章目录 spring boot指定运行环境 1. 命令行指定的方式 springboot根据启动命令不同,执行不同配置文件 2. application.properties中添加spring.pr ...

  3. springboot多模块打包指定子模块环境配置文件

    springboot多模块打包指定子模块环境配置文件 父pom.xml maven 命令:mvn clean package -Dmaven.test.skip=true -P uat 命令解析:清c ...

  4. Springboot 激活指定的配置文件

    Springboot提供了很多方式,帮助我们实现不同环境应用配置的定制化.我们可以通过properties文件.yaml文件.环境变量和命令行参数定制化配置.这些配置的属性值可通过@Value注解注入 ...

  5. redis指定配置文件启动_redis基础知识整理-安装

    1.安装wget,稍后使用wget命令下载redis源码 yum install wget -y 2.在根目录创建 redis 目录并进入到redis目录下 mkdir /redis cd /redi ...

  6. 用maven按环境打包SpringBoot的不同配置文件

    利用maven按环境打包SpringBoot的不同配置文件 application-dev.properties对应开发环境 application-test.properties对应测试环境 app ...

  7. redis指定配置文件启动_Redis【简介amp;安装篇】

    1 Redis简介 1.1 Redis是什么 Redis是一个开源的,使用ANSI C 编写的,高性能Key-Value的NoSQL数据库. 1.2 Redis特点 i. 基于内存. ii. 可持久化 ...

  8. 你只知道@Value?设置server.port就能定义端口号是如何实现的?springboot读取配置文件的多种方式以及源码解析

    你只知道@Value?设置server.port就能定义端口号是如何实现的?springboot读取配置文件的多种方式以及原理解析 一.SpringBoot全局配置文件优先级 二.属性注入常用注解 1 ...

  9. linux启动jar服务命令,微服务编译、启动jar命令指定配置文件

    在部署项目的时候会有dev.test.uat.prod等环境配置文件 有两种方法去指定配置文件: 1.在启动服务的时候指定: 2.编译打包的时候指定,如果此时已经指定则启动的时候就不用再指定了. 1. ...

最新文章

  1. android get请求最长字符,Android OKHTTP3的GET和POST方法(带basic auth)
  2. 史上最详细的微生物扩增子数据库整理
  3. 【阿里云课程】循环神经网络:RNN及其改进
  4. 简易VR眼镜:是玩具还是工具?
  5. 面试官问你Java内存区域你用new创建对象来解释
  6. sql server 2005 修改动态端口,连接字符串为:需要改成:IP地址+逗号+端口号才行...
  7. SQA定义、质量模型、SQA与测试的关系
  8. 树的存储_ 双亲表示法 及 双亲孩子表示法
  9. 程序人生之常见术语与名词解释
  10. linux tar 命令安装,Linux tar 命令 command not found tar 命令详解 tar 命令未找到 tar 命令安装 - CommandNotFound ⚡️ 坑否...
  11. 千斤顶装配图怎么画_机械制图——绘制千斤顶装配图教程.ppt
  12. C语言也能干大事第七节(如鹏基础)
  13. 计算机windows10怎么找word,win10系统word文件丢失如何找回?win10系统word文件丢失的找回方法...
  14. Qt中波兰语不显示尖音符
  15. Windows下进行域名映射并配置Nginx反向代理
  16. 百度人脸识别api php demo,百度人脸识别api实现及demo
  17. 数据分析思维(《数据分析思维:分析方法和业务知识》)
  18. node与npm版本对应关系以及使用nvm管理node版本
  19. 「wps教程」Word里的大神器隐藏技能
  20. “隐私—数据收集”问题的两难分析

热门文章

  1. 摘要算法与数字签名和数字信封
  2. 挑战一下真正属于自已的命运。
  3. 牛客网 CPP55 十进制整数转十六进制字符串
  4. 计算机如何访问玩客云,肿么通过电脑访问玩客云
  5. python 生成html文档,Python使用pyh生成HTML文档的方法示例
  6. Linux基基基础——shell命令
  7. 微信公众号物理返回键返回微信
  8. Django 商城购物车页面
  9. 大数据工程师历年企业笔试真题汇总
  10. moran指数 r语言_白话空间统计之二十五:空间权重矩阵(四)R语言中的空间权重矩阵(2):不同空间关系对莫兰指数的影响...