我们在做一个项目,未免有很多个环境进行开发,譬如,开发环境、生产环境。。而不同的环境,当然要配置不同的端口号,那么Profile就起到配置多环境的作用,怎么做呢??
我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml,默认使用application.properties的配置
.propertie的配置文件的多环境配置
如果我们使用 .properties的配置文件进行开发项目,那么我们需创建三个.properties的配置文件,如 application.properties 、 application-dev.properties 、 application-pro.properties
启动项目后,默认启动的是application.properties的端口,那么我们想跳到 application-dev.propertie的端口,我们只需在application.properties中加入以下
application.properties
server.port=8080
spring.profiles.active=dev
application-dev.properties
server.port=8081
.yml的配置文件的多环境配置
但是,我觉得使用 .properties的配置文件进行多环境的开发,太过复杂,我推荐使用 .yml 的格式的配置文件,因为它支持支持多文档块方式 ???
先把之前两个.propertie的配置文件删掉,我们创建一个application.yml的配置文件
server:
port: 8081
spring:
profiles:
active: prod
---
server:
port: 8083
spring:
profiles: dev
---
server:
port: 8084
spring:
profiles: prod #指定属于哪个环境
使用 yml 的好处是,不用像 properties 那样创建那么的环境配置文件,可以直接在一个配置文件中使用多文档的方式,进行不同的环境配置,如上,通过 — 的方式创建一个文档
激活指定profile
1、在配置文件中指定 spring.profiles.active=dev
2、打包后执行:java -jar spring-boot-02-config-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev;
3、在edit configuration中,Program arguements加入–spring.profiles.active=dev
4、虚拟机参数;-Dspring.profiles.active=dev
上:6 | SpringBoot中application.yml配置文件的占位符使用方法
下:8 | 浅谈配置文件加载位置