springboot如何查找配置文件路径的顺序和其优先级别

Spring Boot 应用的配置文件路径顺序和优先级别是根据 ResourceLoader 的实现类加载资源文件的顺序来决定的。以下是其详细攻略:

  1. Spring Boot 系统关键配置文件的默认路径为 classpath:/、classpath:/config/ 和 file:./、file:./config/,其中 classpath:/ 表示从类路径下加载,file:./ 表示从启动目录下加载。具体可以通过在 application.properties 中设置以下属性进行配置修改:

properties
# 修改 resource 路径为 /config/ 目录下面
spring.config.name=myapplication
spring.config.location=classpath:/config/

  1. 如果需要加载外部文件的话,可以借助以下方式加载:

java
public static void main(String[] args) {
SpringApplication app = new SpringApplication(MyApplication.class);
app.setDefaultProperties(Collections.singletonMap("my.config.file", "/Users/zzz/config/application.properties"));
app.run(args);
}

上面代码中,我们使用 setDefaultProperties 方法设置了一个 my.config.file 属性,该属性指定了外部的配置文件路径。在运行 Spring Boot 应用时,应用会优先读取外部的配置文件内容。

  1. 上面两种方式是默认情况下 Spring Boot 应用读取配置文件的路径和优先级别,如果要改变默认的路径或者增加默认的搜索路径,需要使用配置文件来进行这种配置。可以在 application.properties 文件中进行更改:

properties
# 设置多个外部配置文件,优先级别从最低到最高
spring.config.additional-location=file:/etc/zzz/,classpath:/config/

上面代码中,我们通过使用 spring.config.additional-location 配置属性,可以设置多个外部配置文件的路径,Spring Boot 应用会按照从左到右的顺序读取配置文件的内容,/etc/zzz/ 目录的优先级别低于 classpath:/config/ 目录。

  1. Spring Boot 2.4 版本的新特性,对 DevTool 的支持。在开发的过程中,我们可能需要使用不同的 Profile 来配置不同环境下的配置信息。我们只需要在 DevTool 的文档中添加 application-<profile>.yml (如: application-dev.yml )即可在 DevTool 中使用对应环境的配置文件。

properties
# 开启 DEV 环境自动重载配置
spring.devtools.restart.enabled:true
# 从文件中排除静态文件的匹配表达式
# 如果不需要加入到的这里的列表可以自行修改
spring.devtools.restart.exclude=static/**,public/**

通过上述方法,可以更灵活地配置和加载 Spring Boot 应用的配置文件,支持外部文件的加载,以及不同 Profile 的配置文件的使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot如何查找配置文件路径的顺序和其优先级别 - Python技术站

(0)
上一篇 2023年5月17日
下一篇 2023年5月17日

相关文章

  • “云计算之旅”筹备完成,意见征询!

      大家好,首先很高兴”WPF 基础到企业应用系列”能得到大家的关注、支持和认可。最近几个月由于白天要研究云计算专题(公司项目和个人爱好原因),晚上和闲暇时间才写WPF,所以就没能很好专注于一个方面而拖慢了WPF系列的进度,在此也表示深深地歉意。原打算写完WPF这个系列以后才继续“云计算之旅”这个系列,但是经过慎重的思考,同时也考虑到录制视频的关系,所以我决…

    云计算 2023年4月11日
    00
  • “云计算的前世今生·从阿里看云计算”内蒙古师范大学刘晨旭博士专题报告会顺利召开…

          6月29日下午4点,内蒙古师范大学·阿里云大数据学院邀请阿里云产品团队专家刘晨旭博士在学术报告厅做题为《云计算的前世今生——从阿里看云计算》的专题报告分享,此次活动吸引了500多名师生参加,两层的报告厅里座无虚席。       在此次活动中,刘晨旭博士为师生们讲述了云计算的发展历程、服务形式、主要技术等内容,并进一步介绍了阿里云的产品体系、应用案…

    云计算 2023年4月12日
    00
  • 大数据应用开发流程

    通常将大数据应用开发分为五个步骤:获取、存储、处理、访问以及编制,获取是指获取一些辅助数据,例如来自CRM、生产数据(ODS)的数据,并将其加载入分布式系统(如Hadoop)为下一环节处理做准备。存储是指对分布式文件系统(GFS)或NoSQL分布式存储系统、数据格式)、压缩和数据模型的决策。处理是指将采集的原始数据导入到大数据管理系统,并将其转化为可用于分析…

    2023年4月10日
    00
  • .NET Core开发之配置详解

    下面是关于“.NET Core开发之配置详解”的完整攻略,包含两个示例说明。 简介 在.NET Core开发中,配置是非常重要的一部分。在本攻略中,我们将介绍如何在.NET Core应用程序中进行配置。 步骤 在.NET Core应用程序中进行配置时,我们可以通过以下步骤来实现: 创建一个appsettings.json文件。 在Startup.cs文件中读…

    云计算 2023年5月16日
    00
  • 【第27届中国国际金融展】通付盾精彩亮点提前看

    StackOverflow是一个知名的技术问答社区,为全球程序员提供了一个交流学习的平台。以下是支撑StackOverflow运营的网站硬件配置分享的详细攻略: 1. 硬件配置 1.1. 服务器 StackOverflow使用多台服务器来支撑其运营。其中,主要的服务器配置如下: CPU:Intel Xeon E5-2670 v2 内存:128GB DDR3 …

    云计算 2023年5月16日
    00
  • 云计算&存储测试:FIO工具入门与实战

    1.1 简介 FIO是一个开源的I/O压力测试工具,主要是用来测试磁盘的IO性能,也可测试cpu,nic的IO性能。它可以支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, network, syslet, guasi, solarisaio, I/Opriorities (针对新的Lin…

    2023年4月10日
    00
  • 利用.net core实现反向代理中间件的方法

    利用.NET Core实现反向代理中间件的方法 反向代理是一种常见的Web应用程序架构,它可以将客户端请求转发到后端服务器。在.NET Core中,我们可以使用反向代理中间件来实现反向代理。本文将提供一个完整的攻略,包括如何使用.NET Core实现反向代理中间件。以下是详细步骤: 步骤1:创建.NET Core Web应用程序 在实现反向代理中间件之前,我…

    云计算 2023年5月16日
    00
  • ASP.NET Core全局异常处理

    ASP.NET Core全局异常处理攻略 在ASP.NET Core应用程序中,全局异常处理是一种处理未处理异常的方法。全局异常处理可以捕获应用程序中未处理的异常,并提供自定义错误页面或其他处理方式。以下是详细步骤: 步骤1:创建ASP.NET Core项目 首先,我们需要创建一个ASP.NET Core项目。可以使用Visual Studio或者在命令行中…

    云计算 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部