1、properties类配置文件可以多Profile文件
application.properties为主配置文件
在编写其他配置文件的时候,文件名可以是 application-{profile}.properties
此时application.properties、application-dev.properties、application-prod.properties的server.port分别为8010、8011、8012
启动后:结果为8010
所以默认使用application.properties的配置;
怎么指定其他配置文件呢?
在主配置文件application.properties中设置
spring.profiles.active=dev
2、yaml
方式一:yaml支持多文档块方式
server:
port: 8090
servlet:
context-path: /yml
spring:
profiles:
active: prod #激活该环境
---
server:
port: 8091
spring:
profiles: dev #指定属于哪个环境
---
server:
port: 8092
spring:
profiles: test
yaml中使用哪个配置就在哪个文档块中加上 active: {profile} 如: active: prod
方式二:yaml多文件模式
application.yaml中指明激活dev配置
spring:
profiles:
include: dev
指定激活dev
application-dev.yaml中声明为dev配置
spring:
config:
activate:
on-profile: dev
application-test.yaml中声明为test配置
spring:
config:
activate:
on-profile: test
3、激活指定profile的其他方式
2、可以直接在测试的时候,配置传入命令行参数
且这个命令行的优先级更高,比active: prod这种高
3、命令行:
java -jar spring-boot-02-config-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev;
4、虚拟机参数;
-Dspring.profiles.active=dev