1.profile介绍
Profile 是 Spring 用来针对不同的环境要求,提供不同的配置支持, 全局 Profile 配置使用的文件名可以是
application-{profile}.properties / application-{profile}.yml ;
如: application-dev.properties / application-prod.properties
演示案例:我们的项目环境分为 开发 (dev)和 生产(prod)环境 ,开发环境下端口号为 8082,生产环境下端口号为8888 。
2. properties 文件演示案例
创建两个文件 application-dev.properties 与 application-prod.properties
激活指定profile
在主配置文件 application.properties 中指定 spring.profiles.active=dev
3.YAML文件演示案例
在 application.yml 中配置
yml 支持多文档块方式 —
server:
port: 8081 # 默认端口号
spring:
profiles:
active: prod #激活哪个profile , 当前激活的是 dev 开发环境
---
server:
port: 8082
spring:
profiles: dev #指定属于哪个环境, dev 环境时使用
---
server:
port: 8888
spring:
profiles: prod #指定属于哪个环境, prod 环境时使用
4.配置文件加载位置
SpringBoot 启动时,会扫描以下位置的 application.properties 或者 application.yml 文件作为Spring Boot的默认配置文件:
以上按照优先级从低到高的顺序,将所有位置的配置文件全部加载,高优先级的配置内容会覆盖低优先级的配置内容。
演示效果如下:
注意:如果使用IDEA创建的项目是 Module (如果是 Project 则忽略),当前项目的根目录不是你这个项目所有目录(是Project所在目录) ,这样使用 file: 存放配置文件时会找不到配置;
解决方式:更改工作路径直接为Module所有目录
通过 System.getProperty("user.dir") 获取的是module的路径