SpringBoot中加载配置文件的优先级

在Spring Boot中,加载配置文件的优先级按照以下顺序进行,后续的配置会覆盖之前的配置:

  1. 默认属性:这些属性在Spring Boot本身中定义,并且通常是不可变的。它们作为后备值。

  2. 应用程序属性 :这些属性在应用程序的 application.propertiesapplication.yml 文件中定义。它们提供了默认的配置。

  3. 特定配置文件属性 :这些属性在特定于活动Spring配置文件的 application-{profile}.propertiesapplication-{profile}.yml 文件中定义,其中 {profile} 对应于活动的Spring配置文件。当相应的配置文件处于活动状态时,这些属性将覆盖默认属性。

  4. 配置服务器属性:这些属性是从Spring Cloud配置服务器获取的。它们会覆盖应用程序本地配置文件中定义的属性。

如果一个属性在多个位置定义,则最后应用的属性会覆盖之前的属性。因此,如果一个属性在 application.propertiesapplication-dev.properties 中都定义了,当 dev 配置文件处于活动状态时,application-dev.properties 中的值将覆盖 application.properties 中的值。

类似地,如果一个属性同时在本地配置文件(application.propertiesapplication-dev.properties)中定义,并且从配置服务器中获取,则配置服务器中的值会覆盖本地值。

总而言之,优先级顺序为:

  1. 默认属性
  2. 应用程序属性
  3. 特定配置文件属性
  4. 配置服务器属性
相关推荐
LJianK12 分钟前
前后端接口常见传参
java·spring
独自破碎E4 分钟前
消息队列如何保证消息的有效性?
java·开发语言·rocketmq·java-rocketmq
superman超哥4 分钟前
Rust impl 块的组织方式:模块化设计的艺术
开发语言·后端·rust·模块化设计·rust impl块·impl块
3824278275 分钟前
使用 webdriver-manager配置geckodriver
java·开发语言·数据库·爬虫·python
superman超哥10 分钟前
仓颉跨语言编程:FFI外部函数接口的原理与深度实践
开发语言·后端·仓颉编程语言·仓颉·仓颉语言·仓颉跨语言编程·ffi外部函数接口
咕白m62511 分钟前
通过 Python 提取 PDF 表格数据(导出为 TXT、Excel 格式)
后端·python
骚戴11 分钟前
2025企业级架构演进:重构 Java/Python 的 RAG 与 Agent 系统的六种核心策略
java·人工智能·大模型·llm·api
悟空码字19 分钟前
SpringBoot读取Excel文件,一场与“表格怪兽”的搏斗记
java·spring boot·后端
SimonKing20 分钟前
支付宝H5支付接入实战:Java一站式解决方案
java·后端·程序员
摇滚侠23 分钟前
Java 零基础全套视频教程,日期时间 API,笔记147-148
java·开发语言·笔记