Spring Boot 项目中的 bootstrap.yml 与 application.yml:区别、作用与使用指南

Spring Boot 项目中的 bootstrap.yml 与 application.yml:区别、作用与使用指南

在 Spring Boot(尤其是 Spring Cloud 微服务项目)中,经常会看到两个配置文件:bootstrap.ymlapplication.yml。很多人对它们的区别、使用场景以及是否可以改名感到困惑。本文将详细说明两者的区别、加载时机、典型用途以及改名可能带来的影响。

1. 核心区别对比

特性 bootstrap.yml / bootstrap.properties application.yml / application.properties
加载时机 极早:在 Spring 应用上下文(ApplicationContext)创建之前加载 在应用上下文创建之后加载
优先级 更高:bootstrap 中的同名配置会覆盖 application 中的配置 较低
主要用途 引导阶段必须先读取的配置,尤其是配置中心、服务发现相关 普通应用配置、业务参数
典型配置内容 - spring.cloud.nacos.config.server-addr
- spring.cloud.nacos.discovery.server-addr
- spring.cloud.config.uri
- spring.profiles.active(部分场景)
- 加密密钥、profile 切换等
- server.port
- spring.datasource.
- spring.redis.

- logging.level.*
- 自定义业务参数(如 jwt.secret、app.name)
是否支持动态刷新 支持(配置中心拉取的配置通常通过 bootstrap 读取) 部分支持(但很多配置中心优先从 bootstrap 读取)
Spring Boot 2.4+ 默认 需要手动引入 spring-cloud-starter-bootstrap 依赖才能启用 默认启用,只加载 application 文件
改名影响 改名会导致 Spring Cloud 找不到引导配置,项目大概率启动失败或功能缺失 可改名(通过 spring.config.name 指定),但不推荐

2. 为什么需要两个配置文件?

Spring Boot 的启动流程分为两个阶段:

  1. Bootstrap Phase(引导阶段)

    • 发生
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿梦Anmory

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值