SpringBoot加载读取配置文件过程详细分析

  1. SpringBoot加载读取配置文件的过程

SpringBoot在启动过程中会对其内部的配置文件和外部的配置文件进行加载,这里主要介绍其在启动过程中读取配置文件的过程。

具体的过程如下:

第一步:SpringBoot在启动过程中会先加载其内部的配置文件,包括 application.properties 和 application.yml。如果两个文件都存在同样的配置项,则优先加载后者。

第二步:若内部配置文件无法满足需求,SpringBoot会查找外部的配置文件,如 application.properties 或 application.yml。SpringBoot查找外部配置文件的路径如下:

  • 配置文件与应用程序的 jar 包在同一目录下的 config 目录
  • 配置文件在jar包所在目录下的 config 目录下
  • 配置文件在jar包所在目录下

第三步:如果以上两种方式无法找到外部配置文件,SpringBoot会尝试从系统环境变量中读取配置项,以 key=value 的形式存储。

第四步:如果以上所有方式都无法找到需要的配置项,则会使用默认值。

  1. 示例说明

  2. application.properties

假设我们需要配置一个名为 "my.name" 的属性,值为 "张三",这时我们只需在 application.properties 文件中添加如下配置:

my.name=张三

SpringBoot在启动时就会自动加载这个配置项,并将它存储在内存中。

  1. application.yml

除了在 application.properties 文件中添加配置项外,我们还可以使用更简单、易读的 yml 格式来配置。

假设我们需要配置一个名为 "my.age" 的属性,值为 20,这时我们只需要在 application.yml 文件中添加如下配置:

my:
  age: 20

SpringBoot也会自动加载这个属性,并将它存储在内存中。

总结:

通过以上两个示例可以看出,SpringBoot的配置文件可以通过外置的方式或内置的方式进行配置,而且配置文件的格式也有多种选择,能够支持更多的需求。同时,SpringBoot也提供了默认值,方便开发者快速上手。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot加载读取配置文件过程详细分析 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • css新单位fr

    CSS新单位fr的完整攻略 CSS新单位fr是CSS Grid Layout中的一种新单位,它表示可用空间的一部分。本文将提供一个完整攻略,包括fr定义、使用方法、示例说明等。 1. 定义 fr是CSS Grid中的一种新单位,它表示可空间的一分。fr是“fraction”的缩写,意为“分”。一个fr表示可用空间的一部分,例如,如果一个容器有3个,另一个容器…

    other 2023年5月8日
    00
  • Win10应用程序无响应频繁出现的解决方法

    解决Win10应用程序无响应频繁出现的方法 在Win10系统中,应用程序无响应的情况时有发生,造成用户体验的不良影响。以下是一些解决方法: 方法一:关闭并重启应用程序 当应用程序出现无响应的情况时,首先应该尝试关闭应用程序并重新启动。可以通过以下步骤实现: 选中正在运行的应用程序窗口; 按下键盘上的“Alt + F4”组合键; 在弹出的对话框中,选择“关闭”…

    other 2023年6月25日
    00
  • C++中头文件和源文件详细介绍

    当我们写C++程序时,一个包含函数或变量声明的头文件和包含实现函数或变量的源文件是非常有用和必要的。在这篇文章中,我们将详细介绍头文件和源文件在C++编程中的作用,以及如何使用它们。 头文件和源文件的作用 头文件是在系统开发中被广泛使用的,在这个文件中写入了函数、类、结构和变量的声明,而源文件则包含实现这些声明的代码。C++中,头文件和源文件的作用如下: 通…

    other 2023年6月27日
    00
  • win10右键怎么添加管理员授权?

    当我们在Windows10系统中安装某些软件或打开某些文件时,可能会提示需要管理员权限进行操作,这时候我们可以通过添加管理员授权到右键菜单中方便地进行操作。接下来,我将为大家讲解如何在win10右键菜单中添加管理员授权。 准备工作 在进行添加管理员授权之前,我们需要准备好以下两个软件: PowerToys Add-Remove-Programs 其中,Pow…

    other 2023年6月27日
    00
  • PHP递归写入MySQL实现无限级分类数据操作示例

    PHP递归写入MySQL实现无限级分类数据操作示例 PHP递归写入MySQL实现无限级分类数据操作示例是一种常见的数据操作方法,适用于需要对分类数据进行层级化管理的场景。本攻略将介绍如何使用PHP递归写入MySQL实现无限级分类数据操作的完整过程。 1. 创建MySQL数据库和数据表 首先需要创建一个MySQL数据库和两个数据表,一个用于存储分类信息,一个用…

    other 2023年6月27日
    00
  • iPhone ios7出现激活错误提示怎么办?iPhone重新激活的解决方法

    iPhone iOS 7出现激活错误提示的解决方法 如果你的iPhone运行iOS 7系统时出现激活错误提示,不要担心,下面是一些解决方法,帮助你重新激活你的iPhone。 方法一:检查网络连接 首先,确保你的iPhone已连接到可靠的Wi-Fi网络。激活过程需要网络连接才能成功完成。如果你的网络连接不稳定或信号弱,可能会导致激活错误提示。 示例说明1:如果…

    other 2023年7月27日
    00
  • JavaScript变量作用域_动力节点Java学院整理

    当涉及到JavaScript中的变量作用域时,以下是一个完整的攻略,其中包含两个示例说明。 … … 作用域 作用域是指变量在代码中可访问的范围。在JavaScript中,有三种作用域:全局作用域、函数作用域和块级作用域。 1. … 作用域 全局作用域是在整个代码中都可访问的作用域。在全局作用域中声明的变量可以在代码的任何地方访问。 以下是一个示例…

    other 2023年8月10日
    00
  • 阿里云快速搭建一个静态网站的方法步骤

    下面我将为您详细讲解阿里云快速搭建一个静态网站的方法步骤。 1. 注册阿里云账号并购买存储空间 首先,您需要注册阿里云账号并购买存储空间。在阿里云官网注册账号后,选择对象存储(OSS)服务,根据自己的需求购买相应的存储空间。 2. 创建Bucket 购买存储空间之后,在OSS控制台创建一个Bucket,Bucket是一种存储空间,存储对象的容器。创建Buck…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部