标签:list ams final exe ica inf eve refresh lis
1 | public ConfigurableApplicationContext (String... args) { |
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 启动源码解析系列六:执行启动方法一
标签:list ams final exe ica inf eve refresh lis
原文地址:https://www.cnblogs.com/petewell/p/11611864.html