Spring Boot 应用程序可以配置多个环境特定的配置文件,通常这些文件遵循 application-{profile}.yml
或 application-{profile}.properties
的命名约定,其中 {profile}
是一个占位符,代表当前激活的环境名称。
YAML 配置文件
YAML(YAML Ain't Markup Language)是一种直观的数据序列化格式,常用于配置文件。对于 Spring Boot 应用程序,可以使用 .yml
文件来定义配置。
示例:application-dev.yml
示例:application-prod.yml
Properties 配置文件
Properties 文件是传统的 Java 属性文件格式,使用键值对来存储配置。
示例:application-dev.properties
示例:application-prod.properties
激活特定环境配置
要激活特定环境的配置,可以在启动应用程序时设置 spring.profiles.active
属性。这可以通过多种方式完成:
- 命令行参数:
- 环境变量:
在 Unix/Linux 系统中:
在 Windows 系统中:
- application.properties 或 application.yml:
在 src/main/resources
目录下的 application.properties
或 application.yml
文件中指定默认环境:
或者:
配置文件优先级
Spring Boot 在加载配置时遵循一定的优先级规则:
- 命令行参数
- 系统环境变量
-
应用外部的
application.properties
或application.yml
-
当前目录下的
application.properties
或application.yml
-
内置的
application.properties
或application.yml
在同一优先级内,后面的配置会覆盖前面的配置。此外,特定于环境的配置文件(如 application-dev.yml
)会优先于通用的 application.yml
。