springboot的启动流程图_@SpringBootApplication

springboot的启动流程图_@SpringBootApplication首先会new一个SpringApplication然后在构造方法里初始化一些属性。判断应用类型是响应式REACTIVE的还是Web应用SERVLET去spring.factories文件加载初始化器ApplicationContextInitializer去spring.factories文件加载监听器ApplicationListener实例化之后执行run方法主体,run执行流程是基于观察者模式的,整个SpringBoot的启动流程就是各种事件的发布。获取并启用监听器Applicati..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

  1. 首先会new一个SpringApplication然后在构造方法里初始化一些属性。

    判断应用类型是响应式REACTIVE的还是Web应用SERVLET

    去spring.factories文件加载初始化器ApplicationContextInitializer

    去spring.factories文件加载监听器ApplicationListener

  2. 实例化之后执行run方法主体,run执行流程是基于观察者模式的,整个SpringBoot的启动流程就是各种事件的发布。
    获取并启用监听器ApplicationListener,并发布应用启动事件SpringApplicationRunListener

  3. 准备环境变量,包含系统属性和用户配置的属性以及maven变量等,执行的代码块在 prepareEnvironment 方法内

  4. 创建应用程序的上下文createApplicationContext()

  5. 去spring.factories文件加载异常报告器SpringBootExceptionReporter

  6. 准备上下文环境prepareContext(这一步会执行初始化方法,其实就是执行实现了ApplicationContextInitializer 接口的类)

  7. 刷新上下文refreshContext,主要是自动装配和启动 tomcat

  8. 刷新上下文后置处理afterRefresh,空方法

  9. 发布上下文准备就绪事件

  10. 执行自定义的run方法。ApplicationRunner和CommandLineRunner

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197371.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Canny算子–边缘检测[通俗易懂]

    Canny算子–边缘检测[通俗易懂]Canny边缘检测算法的发展历史Canny边缘检测于1986年由JOHNCANNY首次在论文《AComputationalApproachtoEdgeDetection》中提出,就此拉开了Canny边缘检测算法的序幕。Canny边缘检测是从不同视觉对象中提取有用的结构信息并大大减少要处理的数据量的一种技术,目前已广泛应用于各种计算机视觉系统。Canny发现,在不同视觉系统…

    2022年5月20日
    44
  • vue的安装和使用_路由器怎么安装图解

    vue的安装和使用_路由器怎么安装图解前言Vue(读音/vjuː/,类似于view)是一套用于构建前后端分离的框架。刚开始是由国内优秀选手尤雨溪开发出来的,目前是全球“最”流行的前端框架。使用vue开发网页很简单,并且技术生态环境完善

    2022年8月7日
    9
  • c语言处理excel表格_c语言一般文件的处理过程

    c语言处理excel表格_c语言一般文件的处理过程1写excel是.csv后缀,跳跃间隔符是‘\t’ FILE*fp; fp=fopen(“./test.csv”,”w”);//写 for(i=0;i<4;i++) fprintf(fp,”%c,%d,%d\n”,chy[i],data[i],d2); fclose(fp);2读指定位置读数,如倒序读数,从末尾向前读数!先看代码!倒序读最后一行的数据#include<bits/stdc++.h>#define

    2022年8月30日
    6
  • soapui使用教程1-基本使用和录制

    soapui使用教程1-基本使用和录制1,创建个rest项目,File-&gt;NewProject:2,然后APIDefinition选择REST,点OK3.,资源根属性,选择如何处理资源绝路径,默认是绝对路径;还可以选择项目路径或工作区路径4,ProjectPassword属性来加密项目内容,不过密码如果忘记将无法找回5,还可以通过内置浏览器生成testcase,File-&gt;New…

    2022年6月29日
    23
  • 面向对象之封装

    封装封装的定义隐藏对象的属性和实现细节,仅对外提供公共访问方式。封装的好处1.将变化隔离;2.便于使用;3.提高复用性;4.提高安全性;封装的原则1.将不需要对外提供的内容

    2022年3月29日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号