【九】springboot启动源码 - refreshContext结束后

【九】springboot启动源码 - refreshContext结束后_第1张图片

afterRefresh

钩子函数,默认实现为空
【九】springboot启动源码 - refreshContext结束后_第2张图片
【九】springboot启动源码 - refreshContext结束后_第3张图片

listeners.started

【九】springboot启动源码 - refreshContext结束后_第4张图片
执行实现SpringApplicationRunListener的started回调
【九】springboot启动源码 - refreshContext结束后_第5张图片

通用处理
【九】springboot启动源码 - refreshContext结束后_第6张图片
this.listeners在之前已经通过SPI加载
【九】springboot启动源码 - refreshContext结束后_第7张图片
获取SpringApplicationRunListener的实现类
【九】springboot启动源码 - refreshContext结束后_第8张图片

EventPublishingRunListener

【九】springboot启动源码 - refreshContext结束后_第9张图片

推送ApplicationStartedEvent事件

关于事件推送机制,看第七篇文章,这里省略
【九】springboot启动源码 - refreshContext结束后_第10张图片
通过自定义监听器获取回调
【九】springboot启动源码 - refreshContext结束后_第11张图片

推送AvailabilityChangeEvent事件

【九】springboot启动源码 - refreshContext结束后_第12张图片
【九】springboot启动源码 - refreshContext结束后_第13张图片

callRunners

【九】springboot启动源码 - refreshContext结束后_第14张图片

ApplicationRunner回调

【九】springboot启动源码 - refreshContext结束后_第15张图片

CommandLineRunner回调

【九】springboot启动源码 - refreshContext结束后_第16张图片

listeners.ready

【九】springboot启动源码 - refreshContext结束后_第17张图片

EventPublishingRunListener

【九】springboot启动源码 - refreshContext结束后_第18张图片

推送ApplicationReadyEvent事件

【九】springboot启动源码 - refreshContext结束后_第19张图片

nacos相关

NacosContextRefresher在这里获取ApplicationReadyEvent的回调
【九】springboot启动源码 - refreshContext结束后_第20张图片

你可能感兴趣的:(springboot源码解析,spring,boot)