#启动流程
框架初始化 ---> 框架启动步骤 ---> 自动化装配
框架初始化步骤
- 配置资源加载器(文件,resource等文件的读取)
- 配置primarySources(传过来的主类,一般是启动类)
- 应用环境检测
- 配置系统初始化器
- 配置应用监听器
- 配置main方法所在的类
框架启动步骤
- 计时器开始计时
- Headless模式复制(表明当前工作在没有显示器,键盘的情况下)
- 发送ApplicationStartingEvent(在关键节点发送事件)
- 配置环境模块(配置应用上下文,属性,一般是environment)
- 发送ApplicationEnvironmentPreparedEvent
- 打印banner
- 创建应用上下文对象
- 初始化失败分析器(springboot启动失败时打印的信息就是失败分析器做的)
- 关联springboot组件与应用上下文对象
- 发送ApplicationContextInitiallizedEvent
- 加载sources到context
- 发送ApplicationPreparedEvent
- 刷新上下文(完成bean的加载)
- 计时器停止计时
- 发送ApplicationStartedEvent
- 调用框架启动类
- 发送ApplicationReadyEvent
自动化装配
- 收集配置文件中的配置工厂类
- 加载组件工厂
- 注册组件内定义的bean