在Spring Boot中,配置文件的加载顺序遵循一定的优先级规则,确保在不同环境下能够灵活地覆盖和组合配置。以下是Spring Boot加载配置文件的优先级顺序(从高到低):
1. 命令行参数
-
优先级最高:通过命令行传递的参数会覆盖其他配置。
-
示例:
bash
java -jar myapp.jar --server.port=8081
2. SPRING_APPLICATION_JSON
环境变量
-
通过环境变量
SPRING_APPLICATION_JSON
提供的 JSON 格式配置。 -
示例:
bash
export SPRING_APPLICATION_JSON='{"server":{"port":8082}}'
3. Java 系统属性 (System.getProperties()
)
-
通过
-D
参数设置的 Java 系统属性。 -
示例:
bash
java -Dserver.port=8083 -jar myapp.jar
4. 操作系统环境变量
-
操作系统的环境变量,Spring Boot 会自动将
大写+