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. 配置服务器属性
相关推荐
短剑重铸之日15 小时前
《7天学会Redis》Day 7 - Redisson 全览
java·数据库·redis·后端·缓存·redission
奋斗的袍子00715 小时前
Spring Boot 项目实现Word转PDF
spring boot·pdf·word
码界奇点15 小时前
基于Spring+SpringMVC+MyBatis+easyUI的后台管理系统设计与实现
java·spring·毕业设计·mybatis·easyui·源代码管理
0和1的舞者15 小时前
《#{} vs ${}:MyBatis 里这俩符号,藏着性能与安全的 “生死局”》
java·数据库·学习·mybatis·intellij idea·mybatis操作
程序新视界15 小时前
“提供溢出的情绪价值”是AI产品极具可能性的方向
人工智能·后端·产品
步步为营DotNet15 小时前
深度探究.NET中WeakReference:灵活内存管理的利器
java·jvm·.net
a程序小傲15 小时前
中国邮政Java面试被问:Kafka的Log Compaction实现和删除策略
java·开发语言·后端·python·面试·职场和发展·kafka
hopsky15 小时前
数据服务开源-SqlRest 1.6 idea中启动 (pg版)
java·ide·intellij-idea
indexsunny15 小时前
互联网大厂Java面试实战:音视频场景中的Spring Boot与Kafka技术问答
java·spring boot·redis·面试·kafka·spring security·互联网大厂
岁岁种桃花儿15 小时前
Spring Boot @GetMapping注解:从应用到原理深度解析
java·spring boot·后端