1. Spring Boot 配置文件加载机制解析
Spring Boot 的配置文件加载遵循一套精密的优先级规则和合并策略。当应用启动时,会按以下顺序加载配置文件:
- classpath 根目录下的 application.properties/yml
- classpath 下的 config/ 子目录
- 当前目录下的 application.properties/yml
- 当前目录下的 config/ 子目录
- config/ 子目录中的配置文件
重要提示:后加载的配置会覆盖先加载的配置,这是 Spring Boot 的"最后 wins"策略。
环境变量 SPRING_CONFIG_LOCATION 可以自定义配置位置:
bash复制export SPRING_CONFIG_LOCATION=classpath:/custom-config/
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 配置文件未生效的六大排查方向
2.1 文件位置与命名检查
最常见的错误是配置文件放错了位置。我曾在一个项目中花了2小时才发现配置文件被误放在 src/main/resources/static/ 目录下。
正确的文件命名必须完全匹配:
- application.properties
- application.yml
- application.yaml
注意:Spring Boot 2.4+ 版本支持多文档 YAML 文件,用 --- 分隔不同配置段。
2.2 Profile 激活状态验证
Profile 机制容易导致配置"消失"。检查以下要点:
- 激活的 Profile 列表:
java复制// 在启动类中添加查看
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
@Bean
public CommandLineRunner checkProfiles(Environment env) {
return args -> {
