《Spring框架源码系列》--springboot的启动流程总结

SpringBoot的启动涉及SpringApplication的实例化,包括判断应用类型、初始化ApplictionInitializer和ApplicationListener、推断main方法所在类。接着,通过run方法启动容器,过程中配置监听器、准备启动环境、设置配置、创建并初始化容器,最后刷新容器进行注解扫描、自动装配及服务器启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

springboot的启动流程总结:

springboot的启动流程主要分为两步

1. 构造SpringApplection的实例,这里又细分为四步:
  1.1 判断应用类型是web应用还是servlet应用。这里是根据对应的类是否存在判断的
  1.2 创建并初始化ApplectionInitializer,设置到initializers属性中,该步骤调用了getSpringFactoriesInstances函数,是在META-INF/spring.factories配置文件里获取初始化器,然后实例化、排序后再设置到initializers属性中。
  1.3 创建并初始化ApplicationListener,步骤和上一步获取初始化器一样
  1.4 推断main方法所在的类。这个东西暂时没什么用。
  
2. 上述准备工作完成后,就开始调用SpringApplection.run方法启动容器。
  2.1 拿到springboot的监听器并启动,也是从spring.Factory中拿。默认是发布容器启动的监听事件,也可以有程序员自己定义的监听事件。
  2.2 准备启动环境,这里包括读取jvm、ServletContxt、properties、yaml文件中的 配置。完成后发布一个环境准备完毕的事件。
  2.3 设置不需要jdk缓存beaninfo信息,spring自己会缓存。
  2.4 打印控制台图标。
  2.5 根据应用类型创建spring容器。
  2.6 初始化spring容器。
  2.7 刷新容器,这里会解析注解扫描bean对象、实现自动装配和启动tomcat。
  2.8 记录启动时间。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

季风泯灭的季节

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值