SpringApplicatonEvent 启动过程中的事件处理
ApplicationStartingEvent
- 应用启动开始时,刚完成SpringApplication的实例化
- 接着完成如下事:
- 推断webApplicationType
- 给字段initilizers赋值:通过SPI方式加载spring.factories中的配置
- 给字段listeners赋值:通过SPI方式加载监听器
- 发送ApplicationStartingEvent事件,触发对应的监听器的执行
- 默认是同步执行
- 默认的监听器是LoggingApplicationListener、BackGroundPreinitializer
ApplicationEnvironmentPreparedEvent
Environment是Spring的基础元数据。
完成大事记:
- 封装命令行参数到ApplicationArguments
- 创建ConfigConfigurableEnvironment实例
- 发送ApplicationEnvironmentPreparedEvent事件,触发对应的监听器的执行
- 有九个监听器处理该事件
- todo