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. 配置服务器属性
相关推荐
《源码好优多》9 分钟前
基于Java Springboot校园共享单车
java·开发语言·spring boot
不修×蝙蝠12 分钟前
后端总指挥---文件接口
后端·文件接口·总指挥
HenCoder20 分钟前
【泛型 Plus】Kotlin 的加强版类型推断:@BuilderInference
android·java·开发语言·kotlin
EdwardYange25 分钟前
Springboot RabbitMq 集成分布式事务问题
spring boot·分布式·rabbitmq·java-rabbitmq·分布式事务问题
八宝袋36 分钟前
设计模式之工厂模式,但是宝可梦
java·设计模式·工厂模式
一支榴莲挞38 分钟前
前后端分离练习(云客项目)
java·vue.js·spring boot·前端框架
oioihoii38 分钟前
设计模式概述
java·c++·设计模式·面试·c#·大学必学
哭哭啼1 小时前
spring boot 常用参数总结
spring boot·后端·pycharm
神仙别闹1 小时前
基于JAVA实现的(GUI)坦克大战游戏
java·开发语言·游戏
凡人的AI工具箱1 小时前
15分钟学 Go 第 54 天 :项目总结与经验分享
开发语言·人工智能·后端·算法·golang