springboot中的多环境配置
springboot中的多环境配置有两种方式,一是建立多个application-profile.yml文件来区分不同环境,二是在一个application.yml文件中用—来区分不同环境
方式一
新建多个application-profile.yml文件,如application-dev.yml,application-test.yml,application-pro.yml
在application.yml文件中用spring.profiles.active=所选profile来激活环境
方式二
在一个application.yml文件中编写多个环境,每个环境用—分割开,环境命名用spring.profiles=环境命名,在文件最上面用spring.profiles.active=所选环境名来选择环境
spring:
profiles:
active: dev
---
spring:
profiles: dev
server:
port: 8081
---
spring:
profiles: test
server:
port: 8082
---
spring:
profiles: pro
server:
port: 8080
运行已经打好的jar包时想要使用不同配置环境,可以加参数来修改
java -jar mytest.jar --spring.profiles.active=pro
在idea的虚拟机中则不是用–来指定参数而是用-D来指定参数
java -jar mytest.jar -Dspring.profiles.active=pro
这里的–后面或-D后面可以更改的不止环境信息,它还可以更改任何的application.yml文件中的配置
配置文件的加载路径有如下四种:
- file:./config/ :当前项目下的/config目录下
- file:./ :当前项目的根目录
- classpath:/config/ :classpath的/config目录(classpath在项目编译后的target文件夹中,对应的是resources目录)
- classpath:/ :classpath的根目录
从上到下也是加载配置文件的优先级,越上面的优先级越高,命令行中指定的参数优先级最高