Spring Boot 源码学习笔记(一)

555 阅读1分钟

#启动流程


框架初始化 ---> 框架启动步骤 ---> 自动化装配


框架初始化步骤


  • 配置资源加载器(文件,resource等文件的读取)
  • 配置primarySources(传过来的主类,一般是启动类)
  • 应用环境检测
  • 配置系统初始化器
  • 配置应用监听器
  • 配置main方法所在的类

框架启动步骤


  • 计时器开始计时
  • Headless模式复制(表明当前工作在没有显示器,键盘的情况下)
  • 发送ApplicationStartingEvent(在关键节点发送事件)
  • 配置环境模块(配置应用上下文,属性,一般是environment)
  • 发送ApplicationEnvironmentPreparedEvent
  • 打印banner
  • 创建应用上下文对象
  • 初始化失败分析器(springboot启动失败时打印的信息就是失败分析器做的)
  • 关联springboot组件与应用上下文对象
  • 发送ApplicationContextInitiallizedEvent
  • 加载sources到context
  • 发送ApplicationPreparedEvent
  • 刷新上下文(完成bean的加载)
  • 计时器停止计时
  • 发送ApplicationStartedEvent
  • 调用框架启动类
  • 发送ApplicationReadyEvent

自动化装配


  • 收集配置文件中的配置工厂类
  • 加载组件工厂
  • 注册组件内定义的bean