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. 配置服务器属性
相关推荐
BingoGo几秒前
TrueAsync Server 为 PHP 带来了原生的高性能 HTTP 服务器
后端·php
GISer_Jing1 分钟前
现代分布式系统架构全链路解析
后端·架构
Chase_______2 分钟前
【Java】String 常量池、== 与 equals 详解:从引用比较到 intern() 一次讲清
java·开发语言
专注VB编程开发20年3 分钟前
B4A要编绎成Release发布APP/waiting for ide debugger to connect
java·b4a
我欲扶摇九万里4 分钟前
Mac版idea快捷键失效的原因及解决方法
java·macos·intellij-idea
拙野5 分钟前
【保姆级教程】Claude Code无缝集成DeepSeek V4 Pro
java·人工智能·deepseek·claudecode·ai coding
我是一颗柠檬14 分钟前
【MySQL全面教学】MySQL聚合函数与分组Day5(2026年)
数据库·后端·mysql·database
星栈独行15 分钟前
别让 API 跳去登录页:我在 Axum 里做了认证失败双通道
前端·后端·rust·开源·github·个人开发
JaguarJack17 分钟前
TrueAsync Server 为 PHP 带来了原生的高性能 HTTP 服务器
后端·php
likerhood18 分钟前
设计模式 · 代理模式(Proxy Pattern)java
java·设计模式·代理模式