Profifile介绍
- Profile是Spring用来针对不同环境要求,提供不同的配置支持,全局Profile配置使用的文件名称可以是,application-{profile}.properties / application-{profile}.yml;例如application-dev.properties/application-prod.yml
因为我觉得yml文件看的比较清楚所,下面示例将使用yml文件演示。
yml文件多环境配置

多种方式激活指定的Profile
1.在主配置文件种指定
spring:
profiles:
active: prod #激活哪个profile , 当前激活的是 prod就是生成环境
server:
port: 8080
2.命令行参数指定
可以在测试的时候,配置传入命令行参数 --spring.profiles.active=dev

打jar包运行
java -jar spring-boot-02-config-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
3.虚拟机参数指定

配置文件加载位置
- SpringBoot启动时,会扫描以下位置application.properties或者application.yml文件作为Spring Boot的默认配置文件:

上面表格顺序向下从高到底,将所有位置的配置文件全部加载,高优先级的配置内容会覆盖低优先级的配置内容。

注意:如果使用IDEA创建的项目Module(如果是Project则忽略),当前项目的的根目录不是你所在的你这个项目的所有目录。这样使用file:存放配置文件时会找不到配置。
通过
System.getProperty("user.dir");//获取根目录
解决方式:更改工作路径直接为Module所有目录$MODULE_DIR$


配置文件属性参照:
本文介绍了SpringBoot中Profile的概念,用于根据不同环境提供差异化配置。内容包括:1) yml文件的多环境配置,如application-dev.yml和application-prod.yml;2) 激活Profile的三种方式,如主配置文件指定、命令行参数和虚拟机参数;3) 配置文件的加载位置,SpringBoot启动时会按顺序加载多个位置的配置,并以高优先级覆盖低优先级。注意在IDEA中配置文件路径的问题及其解决方案。
1010

被折叠的 条评论
为什么被折叠?



