SpringApplication 运行阶段
1- 运行监听器
1.1 SpringApplicationRunListener 1.1.1 组合对象设计模式 1.1.2 SpringApplicationRunListeners 相关方法介绍 starting()/应用刚启动 environmentPrepared(ConfigurableEnvironment)/准备妥当,允许将其调整 contextPrepared(ConfigurableApplicationContext)/准备妥当,允许将其调整 contextLoaded(ConfigurableApplicationContext)/已装载,但未启动 started(ConfigurableApplicationContext)/已启动,Spring Bean 初始化完成 running(ConfigurableApplicationContext)/应用正在运行 failed(ConfigurableApplicationContext,Throwable)/应用运行失败 1.2 SpringApplicationRunListener -> EventPublishingRunListener starting() -> ApplicationStartingEvent 事件 environmentPrepared()-> ApplicationEnvironmentPreparedEvent 事件 contextPrepared()-> ApplicationEnvironmentPreparedEvent 事件 contextLoaded()-> ApplicationPreparedEvent 事件 started()-> ApplicationStartedEvent 事件 running()-> ApplicationReadyEvent 事件 failed()-> ApplicationFailedEvent 事件
2- Spring Framework 事件/监听器 编程模型
2.1 Spring 应用事件 ApplicationEvent/ApplicationContextEvent 2.2 Spring 应用监听器 ApplicationListener/@EventListener 2.3 Spring 应用事件广播器 ApplicationEventMulticaster/SimpleApplicationEventMulticaster
3- Spring 应用上下文(ConfigurableAppliationContext)
3.1 Web Servlet -> AnnotationConfigServletWebServerApplicationContext
4- Spring Web MVC
4.1 映射 HandlerMapping 4.2 适配 HandlerAdapter 4.3 执行 HandlerExecutionChain