Spring Boot 启动源码解析系列六:执行启动方法一
Posted petewell
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot 启动源码解析系列六:执行启动方法一相关的知识,希望对你有一定的参考价值。
1 | public ConfigurableApplicationContext (String... args) { |
核心步骤一:启动 SpringApplicationRunListener
1 | SpringApplicationRunListeners listeners = this.getRunListeners(args); |
SpringApplicationRunListener 接口:
1 | public interface SpringApplicationRunListener { |
SpringApplicationRunListener 接口目前只有 EventPublishingRunListener 一个实现类。
1 | private SpringApplicationRunListeners getRunListeners(String[] args) { |
同理也是实例化 SpringApplicationRunListener 接口实现类,最终实际是调用 EventPublishingRunListener 的 starting() 方法:
1 | public void starting() { |
最终调用:
1 | public void multicastEvent(final ApplicationEvent event, ResolvableType eventType) { |
SpringApplicationRunListener 会被构建为 AppicationEvent,然后被 ApplicationEventMulticaster 广播,最后转变为 ApplicationListener。
这中间比较复杂,看的也不是特别的深入,后续继续深入分析。
原文:大专栏 Spring Boot 启动源码解析系列六:执行启动方法一
以上是关于Spring Boot 启动源码解析系列六:执行启动方法一的主要内容,如果未能解决你的问题,请参考以下文章