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. 配置服务器属性
相关推荐
山岚的运维笔记1 分钟前
SQL Server笔记 -- 第72章:隔离级别与锁定
数据库·笔记·后端·sql·microsoft·sqlserver
硅基动力AI20 分钟前
如何判断一个关键词值不值得做?
java·前端·数据库
重生之后端学习1 小时前
78. 子集
java·数据结构·算法·职场和发展·深度优先
那起舞的日子1 小时前
斐波那契数列
java·算法
想用offer打牌2 小时前
一站式了解接口防刷(限流)的基本操作
java·后端·架构
何中应2 小时前
RabbitMQ安装及简单使用
分布式·后端·消息队列
何中应2 小时前
使用Python统计小说语言描写的字数
后端·python
何中应2 小时前
SpringAMQP消息转化器
分布式·后端·消息队列
姜源Jerry2 小时前
【Trae】Trae IDE&SOLO浅尝
java·ide·ai