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

yizhihongxing

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日

相关文章

  • 使用 Istio CNI 支持强安全 TKE Stack 集群的服务网格流量捕获

    作者 陈计节,企业应用云原生架构师,在腾讯企业 IT 负责云原生应用治理产品的设计与研发工作,主要研究利用容器集群和服务网格等云原生实践模式降低微服务开发与治理门槛并提升运营效率。 摘要 给需要快速解决问题的集群管理员:在 TKE Stack 中正确安装 Istio CNI 有两种方式:如果你的 TKE Stack 集群所使用 Galaxy 版本可以支持 c…

    云计算 2023年4月11日
    00
  • 9月最新184道阿里、百度、腾讯、头条Java面试题合集(小结)

    9月最新184道阿里、百度、腾讯、头条Java面试题合集(小结) 简介 该合集共包含184道Java面试题,覆盖了阿里、百度、腾讯、头条等互联网公司,涵盖了Java基础、并发编程、数据结构与算法等方面。该合集是Java开发者面试的参考资料,也可以用来检验自己Java水平。 内容概述 该合集总共包含4个部分:Java基础、并发编程、数据结构与算法、其他。 Ja…

    云计算 2023年5月17日
    00
  • 什么是OpenStack 开源的云计算管理平台项目

    什么是OpenStack 开源的云计算管理平台项目 OpenStack是一个开源的云计算管理平台项目,它提供了一系列的云计算服务,包括计算、存储、网络和身份验证等。OpenStack可以用于构建公有云、私有云和混合云等,它提供了一系列API,可以帮助用户管理和部署计算资源,例如虚拟机、存储和网络等。 OpenStack的组成 OpenStack由以下几个核心…

    云计算 2023年5月16日
    00
  • 云计算安全扩展要求-(四)安全区域边界

    云计算安全扩展要求   四、安全区域边界 尽管云计算环境具有无边界性、分布式的特性,但每一个云数据中心的服务器仍然是局部规模化集中部署的。通过对每个云数据中心分别进行安全防护,可以实现云基础设施边界安全。通过在云计算服务的关键节点和服务入口处实施重点防护,可以实现从局部到整体的严密联防。   安全区域边界针对云计算环境物理网络边界和虚拟网络边界提出了安全控制…

    云计算 2023年4月11日
    00
  • swagger添加权限验证保证API(接口)安全性(两种方法)

    Swagger是一个API文档化工具,它可以让我们更加方便地使用和管理接口文档。在API开发过程中,保证接口的安全性非常重要。下面将详细说明两种方法来添加权限验证,保证API的安全性。 方法一:使用Swagger-UI的ApiKeyAuth Swagger-UI提供了一个简单的ApiKey验证功能,而ApiKey是一个预共享的API密钥。在Swagger配置…

    云计算 2023年5月17日
    00
  • Vue请求后端接口导出excel表格方式

    Vue请求后端接口导出Excel表格方式 在Vue项目中,有时需要从后端接口获取数据并导出Excel表格。本文将详细讲解如何使用Vue请求后端接口并导出Excel表格,包括安装必要的依赖、编写代码等步骤。 步骤1:安装必要的依赖 在使用Vue请求后端接口并导出Excel表格之前,需要安装以下依赖: file-saver:用于在浏览器中保存文件。 xlsx:用…

    云计算 2023年5月16日
    00
  • 华为云Stack新版发布:构筑行业云底座,共创行业新价值

    摘要:在以“政企深度用云,释放数字生产力”为主题的华为云Stack战略暨新品发布会上,华为云提出深度用云三大关键举措,并发布华为云Stack 8.2版本,以智能进化推动创造行业新价值。 本文分享自华为云社区《【华为云Stack】【大架光临】华为云Stack新版发布 第1期 | 构筑行业云底座,共创行业新价值》,作者:大架光临。 随着数字化进程的不断深入,政企…

    2023年4月10日
    00
  • 云计算网络 ASW DSW CSW LSW

    ASW (接入层交换机)数据交换模块接入交换机,接入云服务器,上行互联核心交换机DSW。DSW (分布层交换机):核心交换机,用于连接各个ASW接入交换机。CSW (内网接入交换机):接入用户内网骨干,实现云网络内外部的路由分发交互,包括VPC专线接入。CSW可以实现专线侧到XGW的VxLAN封装。LSW (综合接入交换机)综合接入模块,云产品服务接入交换机…

    2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部