>通过SPI机制加载SpringApplicationRunListener实现类,定义在META-INF/spring.factories
# Run Listeners
org.springframework.boot.SpringApplicationRunListener=org.springframework.boot.context.event.EventPublishingRunListener
默认EventPublishingRunListener发布ApplicationStartingEvent事件
ApplicationArguments创建environment
SERVLET : StandardServletEnvironmentREACTIVE:StandardReactiveWebEnvironmentdefault:StandardEnvironment配置Environment
conversionService发布ApplicationEnvironmentPreparedEvent
ConfigFileApplicationListener#onApplicationEnvironmentPreparedEvent -->
EnvironmentPostProcessor#postProcessEnvironment
web应用类型推断
servlet:AnnotationConfigServletWebServerApplicationContextreactive:AnnotationConfigReactiveWebServerApplicationContextdefault:AnnotationConfigApplicationContextConversionServiceApplicationContextInitializer:在容器refresh()之前初始化容器,通常用于注册Property sourcesApplicationContextInitializedEvent事件ApplicationArguments单例beanApplicationPreparedEvent事件ApplicationStartedEvent事件Springboot通过在容器真正启动前,提前对容器的行为做出相应的调整。并自定义了Spring应用上下文事件
SpringApplicationEvent
原文:https://www.cnblogs.com/chakawelkin/p/15156158.html