SpringBoot系列之SpringBoot启动流程详解

柔情只为你懂 2023-10-09 15:18 151阅读 0赞

文章目录

  • 前言
  • 一、SpringBoot流程分析-初始化
  • 二、SpringBoot流程分析-run
  • 总结

前言

SpringBoot的启动流程在我们面试的时候会经常被问,接下来我们根据源码来分析了解下SpringBoot是怎么启动的


一、SpringBoot流程分析-初始化

首先对SpringBoot主启动类进行debug,然后点击步入(setup into)如下:
在这里插入图片描述在这里插入图片描述继续步入,然后New了一个SpringApplication构造器,点击SpringApplication进入
在这里插入图片描述接着步入到SpringApplication构造器
在这里插入图片描述在这里插入图片描述进入SpringApplication构造源码,我们能够看到构造器中进行了①primarySources配置Source、②webApplicationType配置是否为web环境、③setInitializers创建初始化构造器、④mainApplicationClass配置主方法所在类

总结:

  1. 配置启动引导类(判断是否有启动主类)
  2. 判断是否是Web环境
  3. 获取初始化类、监听器类
    在这里插入图片描述

二、SpringBoot流程分析-run

点击run,进入该方法
在这里插入图片描述
在这里插入图片描述因此,Run方法中进行了下面操作:

  1. 启动计时器
  2. 执行监听器
  3. 准备环境
  4. 打印banner:可以resource下粘贴自定义的banner
  5. 创建context

    refreshContext(context);

  6. 执行refreshContext方法后才真正创建Bean
    在这里插入图片描述


总结

SpringBoot启动流程分为两部分:
1.初始化SpringApplication

  1. 配置启动引导类(判断是否有启动主类)
  2. 判断是否是Web环境
  3. 获取初始化类、监听器类

2.创建Bean并启动

  1. 启动计时器
  2. 执行监听器
  3. 准备环境
  4. 打印banner:可以resource下粘贴自定义的banner
  5. 创建context
  6. 执行refreshContext方法后才真正创建Bean

发表评论

表情:
评论列表 (有 0 条评论,151人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SpringBoot 启动流程

    ![format_png][] SpringBoot 是一个基于 Spring 框架的快速开发框架,旨在简化 Spring 应用程序的开发和部署。在本文中,我们将深入分析 S