SpringBoot的启动流程(仅供个人学习参考)

该篇文章仅作个人学习的一个总结处理,源码部分并未贴出来,只简单的列出一些方法。

SpringBoot启动流程可以分为两大类:

一. SpringApplication对象的创建

SpringApplication对象的创建,这个比较简单了,就是通过有参构造函数new()操作,方法截图如下:

 这里面的构造方法主要是为后面完成启动方法run()的一些配置,(1)获取并设置启动类主要资源.(2)获取并设置你的项目类型.(3)获取并设置初始化容器对象,这个是通过读取spring.factories文件来完成的.(4)获取并设置监听器,同样也是通过读取spring.factories文件来完成的,这些准备完成之后,最后设置启动类参数。

二. 执行run()方法

这里面执行的东西还是比较多的,不过都是有迹可循,跟着源码可以一步步的往下看,更深一层的源码就没有去剖析了,只是列出大致的源码部分,如下截图

 根据上面截图的大致方法来分析:

(1)获取运行过程中的监听器并启动,次监听器是监听项目启动过程中的一些事件,同样的这个监听器的获取是通过读取spring.factories文件来完成的。

(2)读取启动参数及配置文件,并设置环境信息,这步比较简单,就是获取到平时的那些xml文件及项目启动的时候你们所加的一些参数(比如nacos的参数-DV_NACOS_URL,表示nacos服务的地址)

(3)创建IOC容器,具体的流程就没有展示出来,你们可以进入到源码去看下。

(4)IOC容器前置处理,IOC容器刷新,IOC容器后置处理(这个方法是空的,什么都没有)。

(5)这里是分两部的,一是发布执行启动完毕的结束事件,供监听器处理,二是执行Runners。

欧克,最后的整个流程就分析到这里,内部的很多细节都没有写出来,不过这部分知识用到的场景还是面试这块,大部分面试官是不会专门的逮着小细节提问的,写的有不对的地方,评论留言指出,多多指教。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值