Profile
1、application.properties
我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml
默认使用application.properties的配置
在application.properties中使用
spring.profiles.active=dev
来指定配置文件
application.yml
yml中有文档块的语法
分为了四个文档快
server:
port: 8080
#设置默认的配置文件
spring:
profiles:
active: dev
---
server:
port: 8081
#配置文件命名
spring:
profiles: prod
---
server:
port: 8082
spring:
profiles: dev
---
运行结果:
另外一种选择默认配置文件的方法
点击
填入默认的配置方法名
--spring.profiles.active=dev
配置文件优先级
加载外部配置
SpringBoot也可以从以下位置加载配置,优先级从高到低;高优先级配置覆盖低优先级,所有配置互补
- 命令行参数
java -jar spring-boot-test02-config-0.0.1-SNAPSHOT.jar --server.port=8088 --server.path=/test
多个配置用空格分开;–配置项=值 - 来自java:comp/env的INDI属性
- java系统属性( System.getProperties0) )
- 操作系統环境变量
- RandomValuePropertySource配置的random.*属性值
由jar包外向jar包内寻找;带profile的优先
- jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件
- jar包内部的aplication-{profile)-properties或application.yml(带spring. profile)配置文件
再加载不带profile的
- jar包外部的application-{profile}.properties或application.yml(不带spring.profile)配置文件
- jar包内部的application-{profile}.properties或application.yml(不带spring.profile)配置文件