iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SpringBoot中bootstrap.properties文件加载的原理是什么
  • 866
分享到

SpringBoot中bootstrap.properties文件加载的原理是什么

2023-06-22 07:06:21 866人浏览 安东尼
摘要

这篇文章主要介绍“SpringBoot中bootstrap.properties文件加载的原理是什么”,在日常操作中,相信很多人在springBoot中bootstrap.properties文件加载的原理是什么问题上存在疑惑,小编查阅了各

这篇文章主要介绍“SpringBoot中bootstrap.properties文件加载的原理是什么”,在日常操作中,相信很多人在springBoot中bootstrap.properties文件加载的原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot中bootstrap.properties文件加载的原理是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  对于SpringBoot中的属性文件相信大家在工作中用的是比较多的,对于application.properties和application.yml文件应该非常熟悉,但是对于bootstrap.properties文件和bootstrap.yml这个两个文件用的估计就比较少了,用过的应该清楚bootstrap.properties中定义的文件信息会先与application.properties中的信息加载。而且大家在使用的时候还经常碰到获取不到bootstrap.properties中定义的信息的困扰,本文就来给大家揭开这些谜团。

1.bootstrap的使用

  首先在SpringBoot中默认是不支持bootstrap.properties属性文件的。我们需要映入SpringCloud的依赖才可以。

SpringBoot中bootstrap.properties文件加载的原理是什么

相关的版本环境

SpringBoot中bootstrap.properties文件加载的原理是什么

SpringBoot中bootstrap.properties文件加载的原理是什么

然后创建对应的bootstrap.properties文件,当然你也可以创建bootstrap.yml文件

SpringBoot中bootstrap.properties文件加载的原理是什么

同步的我们也会创建application.properties文件,其中会覆盖一个属性

SpringBoot中bootstrap.properties文件加载的原理是什么

然后我们在controller中获取测试

SpringBoot中bootstrap.properties文件加载的原理是什么

访问测试:Http://localhost:8080/query

SpringBoot中bootstrap.properties文件加载的原理是什么

通过访问看到bootstrap.properties中的信息获取到了,同时age也被application.properties中的属性覆盖掉了。加载顺序到底是什么?为什么会覆盖呢?我们接下来分析。

2.bootstrap加载原理分析

  看本文之前最好看下我前面讲解的SpringBoot中的监听机制。

2.1 BootstrapApplicationListener

  在使用bootstrap.properties文件时我们需要映入相关的依赖

SpringBoot中bootstrap.properties文件加载的原理是什么

  其实在这个依赖中会在对应的spring.factories文件中给我们提供新的监听器,也就是BootstrapApplicationListener监听器。

SpringBoot中bootstrap.properties文件加载的原理是什么

  而BootstrapApplicationListener监听触发的事件是ApplicationEnvironmentPreparedEvent事件,这个事件其实和我们前面介绍监听application.properties的时候的监听器ConfigFileApplicationListener监听的是同一个事件。

SpringBoot中bootstrap.properties文件加载的原理是什么

SpringBoot中bootstrap.properties文件加载的原理是什么

  如果你看了前面的文章,那么此处你会觉得有点眉目了。也就是当启动的时候发布对应的事件,该监听器会触发相关的解析行为。

2.2 启动流程梳理

  搞清楚了监听器的关系后,我们来看下启动的流程代码具体是怎么执行的。

SpringBoot中bootstrap.properties文件加载的原理是什么

SpringBoot中bootstrap.properties文件加载的原理是什么

直接进入

SpringBoot中bootstrap.properties文件加载的原理是什么

在SpringApplication的构造方法中我们要注意两点,1.监听器的加载 2.main方法的主类记录

SpringBoot中bootstrap.properties文件加载的原理是什么

然后回来进入run方法

SpringBoot中bootstrap.properties文件加载的原理是什么

SpringBoot中bootstrap.properties文件加载的原理是什么

Debug到第一个端点。

SpringBoot中bootstrap.properties文件加载的原理是什么

然后我们放过。

SpringBoot中bootstrap.properties文件加载的原理是什么

通过上面的动图可以看到又进入了一次这个run方法。先看处理的结果。

SpringBoot中bootstrap.properties文件加载的原理是什么

然后我们再放过,继续

SpringBoot中bootstrap.properties文件加载的原理是什么

分两次加载,有先右后哦。那么这里面的第一个加载的原理到底是什么呢?继续来分析。

2.3 bootstrap.properties的加载原理

  接下来看看是如果出现的一个父context来优先加载我们的bootstrap.properteis文件的,还是从这个图开始

SpringBoot中bootstrap.properties文件加载的原理是什么

SpringBoot中bootstrap.properties文件加载的原理是什么

链路如上面一步步跟踪即可。

SpringBoot中bootstrap.properties文件加载的原理是什么

跳过非关键的,直接进入到BootstrapApplicationListener中来看。

SpringBoot中bootstrap.properties文件加载的原理是什么

然后进入到 bootstrapServiceContext方法中。

SpringBoot中bootstrap.properties文件加载的原理是什么

这儿我们看到有创建了一个SpringApplication对象。这个其实就是父Context对象了。

SpringBoot中bootstrap.properties文件加载的原理是什么

进入run方法你会发现,回到了前面

SpringBoot中bootstrap.properties文件加载的原理是什么

SpringBoot中bootstrap.properties文件加载的原理是什么

到此,关于“SpringBoot中bootstrap.properties文件加载的原理是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: SpringBoot中bootstrap.properties文件加载的原理是什么

本文链接: https://www.lsjlt.com/news/303287.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot中bootstrap.properties文件加载的原理是什么
    这篇文章主要介绍“SpringBoot中bootstrap.properties文件加载的原理是什么”,在日常操作中,相信很多人在SpringBoot中bootstrap.properties文件加载的原理是什么问题上存在疑惑,小编查阅了各...
    99+
    2023-06-22
  • SpringBoot源码分析之bootstrap.properties文件加载的原理
    目录1.bootstrap的使用2.bootstrap加载原理分析2.1 BootstrapApplicationListener2.2 启动流程梳理2.3 bootstrap.pr...
    99+
    2024-04-02
  • SpringBoot属性文件加载原理是什么
    本篇内容介绍了“SpringBoot属性文件加载原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言首先我们来看一个问题。就是我们在...
    99+
    2023-06-29
  • JVM加载class文件的原理机制是什么
    今天小编给大家分享一下JVM加载class文件的原理机制是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、JVM简介J...
    99+
    2023-06-30
  • SpringBoot源码剖析之属性文件加载原理
    目录前言1.找到入口2.ConfigFileApplicationListener2.1 主要流程分析2.2 Loader构造器2.3 properties加载总结 前言 ...
    99+
    2024-04-02
  • require加载器的原理是什么
    这篇文章给大家介绍require加载器的原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.node模块化的实现node中是自带模块化机制的,每个文件就是一个单独的模块,并且它遵循的是CommonJS规范,也就...
    99+
    2023-06-14
  • Android中setContentView加载布局的原理是什么
    Android中setContentView加载布局的原理是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Activiy setContentView源码分析 p...
    99+
    2023-05-30
    android setcontentview
  • springboot怎么加载so文件
    在Spring Boot中加载.so文件,可以按照以下步骤进行操作: 将.so文件放置在项目的某个目录下,比如`src/main...
    99+
    2023-10-25
    springboot
  • webpack的异步加载原理是什么
    这篇文章主要讲解了“webpack的异步加载原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“webpack的异步加载原理是什么”吧!webpack ...
    99+
    2024-04-02
  • Node.js中模块加载机制的原理是什么
    这期内容当中小编将会给大家带来有关Node.js中模块加载机制的原理是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。简单例子老规矩,讲原理前我们先来一个简单的例子,从...
    99+
    2024-04-02
  • unity异步加载原理是什么
    Unity的异步加载原理是利用协程(Coroutine)和异步操作(AsyncOperation)来实现的。在Unity中,协程是一...
    99+
    2023-09-29
    unity
  • java懒加载的实现原理是什么
    Java的懒加载(Lazy Loading)是一种延迟加载的策略,即在需要使用某个对象时才进行实例化和初始化,在之前不会占用额外的资...
    99+
    2023-09-14
    java
  • php加载文件的方法是什么
    这篇文章主要介绍php加载文件的方法是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php加载文件的方法:1、使用“include '文件名'”语句加载;2、使用“require '文件名...
    99+
    2023-06-15
  • SpringBoot上传和下载文件的原理解析
    技术概述 我们的项目是实现一个论坛。在论坛上发布博客时应该要可以上传文件,用户阅读博客是应该要可以下载文件。于是我去学习了SpringBoot的上传和下载文件,我感觉技术的难点在于使...
    99+
    2024-04-02
  • Tomcat类加载器的工作原理是什么
    Tomcat类加载器的工作原理是通过使用Java类加载器来加载Web应用程序的类。Tomcat使用了一种层次结构的类加载器体系,每个...
    99+
    2024-04-02
  • android硬件加速原理是什么
    Android硬件加速是指利用设备硬件来加快图形渲染和图像处理的过程,从而提高应用程序的性能和用户体验。Android硬件加速的原理...
    99+
    2023-10-11
    android
  • PHP中上传大文件的原理是什么
    本篇文章给大家分享的是有关PHP中上传大文件的原理是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。MAX_FILE_SIZE 隐藏字段(单位为字节)必须放在文件输入字段之前...
    99+
    2023-06-17
  • Springboot中注解及配置文件加载顺序是怎样的
    这篇文章将为大家详细讲解有关Springboot中注解及配置文件加载顺序是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Springboot常用注解及底层实现@SpringBootAp...
    99+
    2023-06-25
  • Java中类加载机制及热部署的原理是什么
    这篇文章主要介绍了Java中类加载机制及热部署的原理是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、什么是类加载类的加载指的是将类的.class文件的二进制数据读入到...
    99+
    2023-06-15
  • Silverlight中导航框架与动态加载的原理是什么
    今天就跟大家聊聊有关Silverlight中导航框架与动态加载的原理是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. Silverlight 3 的导航框架简介Silverl...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作