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. 配置服务器属性
相关推荐
墨雨晨曦8818 小时前
2026/01/20 java总结
java·开发语言
程序员泠零澪回家种桔子18 小时前
RAG中的Embedding技术
人工智能·后端·ai·embedding
汤姆yu18 小时前
基于springboot的直播管理系统
java·spring boot·后端
a努力。18 小时前
虾皮Java面试被问:分布式Top K问题的解决方案
java·后端·云原生·面试·rpc·架构
黎雁·泠崖18 小时前
Java字符串入门:API入门+String类核心
java·开发语言·python
leikooo18 小时前
Spring AI 工具调用回调与流式前端展示的完整落地方案
java·spring·ai·ai编程
vx1_Biye_Design18 小时前
基于web的物流管理系统的设计与实现-计算机毕业设计源码44333
java·前端·spring boot·spring·eclipse·tomcat·maven
MediaTea18 小时前
Python:MRO 解密 —— C3 线性化算法
java·开发语言
tqs_1234518 小时前
倒排索引数据结构
java·前端·算法
饱饱要坚持可持续发展观18 小时前
SpringBoot 集成 Liquibase
java·spring boot·后端