Spring Boot 的配置文件加载机制遵循 “后加载覆盖先加载”(Later overrides earlier)的原则,也就是优先级高的配置会覆盖优先级低的配置。 如果同一个属性在多个地方都配置了,Spring Boot 会使用优先级最高的那个值。 以下是详细的优先级顺序说明: 一、 配置文件路径的优先级 (由高到低) Spring Boot 默认会扫描以下 4 个位置的配置文件(如 或 ): 1. 项目运行目录下的 子目录(优先级最高)。 通常用于生产环境部署时,存放由于安全或环境原因需要外部化的配置。 2. 项目运行的根目录。 通常用于临时覆盖 jar 包内部的配置。 3. Classpath (Resource) 下的 包目录。 4. Classpath (Resource) 的根目录(优先级最低)。 这是我们开发时最常存放 的地方。 总结规律: 外部配置 优先级高于 内部配置(打入 Jar 包内的)。 子目录配置 优先级高于 根目录配置。 --- 二、 Profile (环境) 配置的优先级 除了路径,Spring Boot 还区分“通用配置”和“特定环境配置”。 ...