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日

相关文章

  • 高性能计算科研学习,CPU不合适?GPU云服务器强势出击

    GPU云服务器是基于GPU应用的计算服务,目前新睿云有NVIDIA Tesla P100 GPU、NVIDIA Tesla P40 GPU型号GPU云服务器,适用的场景有视频处理、3D图形渲染、深度学习、科学计算等场景。 新睿云P40与P100GPU的区别   1.P40主要负责图像、文字和语音识别 1.1P40的单精运算能力强于P100,计算能力胜于p10…

    云计算 2023年4月13日
    00
  • Python数据分析之使用matplotlib绘制折线图、柱状图和柱线混合图

    Python数据分析之使用matplotlib绘制折线图、柱状图和柱线混合图 简介 Matplotlib是Python中的一个数据可视化库,可以用来分析和展示数据。其中,包括折线图、柱状图和柱线混合图。本文将介绍如何使用Matplotlib库绘制这三种图形。 折线图 折线图是表达连续数据的一种图形,用于展示数据随时间、空间或其他可变参数而变化的趋势。 折线图…

    云计算 2023年5月18日
    00
  • 观察 | 边缘云计算的概念理解

    6月27日-28日,全国信标委云计算标准工作组边缘云计算技术及标准研讨会在京成功召开。BoCloud博云作为云计算标准工作组成员与来自全国信标委云计算标准工作组、中国开源云联盟等产学研用各界30余家成员单位共计百余人次技术专家参与了讨论。     7月2日,中国信通院在“2019可信云大会”正式发布了《云计算与边缘计算协同九大应用场景》白皮书。     对于…

    云计算 2023年4月11日
    00
  • Java实现Dbhelper支持大数据增删改

    下面就是Java实现Dbhelper支持大数据增删改的完整攻略: 简介 Dbhelper是一个Java的ORM框架,它的主要目的是简化数据库操作的代码量,同时提供了一些非常实用的功能,比如实体映射、事务、数据库连接池等。在处理大批量的数据时,Dbhelper可以有效地提高程序的效率。但是,在处理大批量数据时,Dbhelper也会遇到一些瓶颈,比如在插入、更新…

    云计算 2023年5月18日
    00
  • 深度解析Django REST Framework 批量操作

    深度解析Django REST Framework 批量操作 1. 什么是Django REST Framework? Django REST Framework是Django的一个第三方应用,为Django应用提供了一套完整而强大的RESTful API开发工具。Django REST Framework的主要特点包括: 渲染器和解析器支持多种文件格式(如…

    云计算 2023年5月18日
    00
  • 如何成为一名云计算工程师

    云时代的到来,百度,阿里、腾讯借助其产业优势以云计算为核心技术发展在行业中占尽先机。对于云计算技术人才也是高薪诚聘,奈何应聘者寥寥无几。不是薪资不诱人,而是很多人都没有相应的技术去应聘。要想成为一名云计算工程师,IT专业人员首先应该掌握云计算主要领域的技能。 首先从掌握基本概念开始,然后通过掌握完全面向云计算的特定供应商的平台或技术等重要领域来增强其专业知识…

    云计算 2023年4月11日
    00
  • 云计算的理解

    什么是云计算?    云计算(cloud computing)是一种基于因特网的超级计算模式,在远程的数据中心里,成千上万台电脑和服务器连接成一片电脑云。因此,云计算甚至可以让你体验每秒 10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需 求进行运算。 IT精英们如…

    云计算 2023年4月9日
    00
  • Python类属性与实例属性用法分析

    Python类属性与实例属性用法分析 在 Python 中,类属性和实例属性是面向对象编程中常用的概念。他们有着不同的用法和作用,下面将详细讲解类属性与实例属性的用法分析。 1. 类属性 类属性是属于类的属性,它没有被任何实例化对象所共有,而是为类本身所有,并在定义类时声明。即使没有通过类实例化对象,该属性也可以直接通过类名来访问。 1.1 类属性的定义和访…

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