赞
踩
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 -Pdev
-
- mvn clean package -Ptest
-
- mvn 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框架指定配置文件及加载的优先级问题分享完毕,大家详细测试一下,定会惊喜多多。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。