凡客网站建站教程网站域名登陆地址查询
web/
2025/9/27 19:52:40/
文章来源:
凡客网站建站教程,网站域名登陆地址查询,为我们搭建了这么好的平台,开题报告旅游网站建设目录 概述实践监听spring boot ready事件代码 源码初始化流程调用流程 结束 概述
spring boot 版本为 2.7.17 。
整体看一下spring及spring boot 相关事件。
根据下文所给的源码关键处#xff0c;打上断点#xff0c;可以进行快速调试。降低源码阅读难度。
实践
spring… 目录 概述实践监听spring boot ready事件代码 源码初始化流程调用流程 结束 概述
spring boot 版本为 2.7.17 。
整体看一下spring及spring boot 相关事件。
根据下文所给的源码关键处打上断点可以进行快速调试。降低源码阅读难度。
实践
spring 相关事件
上下文更新事件ContextRefreshedEvent该事件会在ApplicationContext更新时发布。也可以在调用ConfigurableApplicationContext接口中的refresh()方法时被触发。上下文开始事件ContextStartedEvent当容器ConfigurableApplicationContext的Start()方法开始/重新开始容器时触发该事件。上下文停止事件ContextStoppedEvent当容ConfigurableApplicationContext的Stop()方法停止容器时触发该事件。上下文关闭事件ContextClosedEvent当ApplicationContext被关闭时触发该事件。容器被关闭时其管理的所有单例Bean都被销毁。
spring boot 相关事件
ApplicationStartingEvent spring boot启动开始时执行的事件ApplicationEnvironmentPreparedEventspring boot 对应Enviroment已经准备完毕但此时上下文context还没有创建。ApplicationPreparedEventspring boot上下文context创建完成但此时spring中的bean是没有完全加载完成的(org.springframework.boot.SpringApplicationRunListeners#environmentPrepared 这个触发加载配置文件)。ApplicationFailedEventspring boot启动异常时执行事件
监听spring boot ready事件
代码
Component
public class SpringBootReadyListener implements ApplicationListenerApplicationReadyEvent {Overridepublic void onApplicationEvent(ApplicationReadyEvent event) {System.out.println(....ready..);}
}窗口执行结果
源码
初始化流程 org.springframework.boot.SpringApplicationRunListener 很重要的接口后面spring boot 发事件消息使用这个接口的实现类 org.springframework.boot.context.event.EventPublishingRunListener 来执行。 org.springframework.boot.SpringApplication#getRunListeners调用流程
org.springframework.boot.SpringApplication#run(java.lang.Class?[], java.lang.String[])
org.springframework.boot.SpringApplication#run(java.lang.String...)
org.springframework.boot.SpringApplicationRunListeners#ready
org.springframework.boot.SpringApplicationRunListeners#doWithListeners(java.lang.String, java.util.function.Consumerorg.springframework.boot.SpringApplicationRunListener, java.util.function.Consumerorg.springframework.core.metrics.StartupStep)
org.springframework.boot.context.event.EventPublishingRunListener#ready
org.springframework.context.support.AbstractApplicationContext#publishEvent(java.lang.Object, org.springframework.core.ResolvableType)
org.springframework.context.support.AbstractApplicationContext#getApplicationEventMulticaster
org.springframework.context.event.SimpleApplicationEventMulticaster#invokeListener
org.springframework.context.event.SimpleApplicationEventMulticaster#doInvokeListener发送启动 ready 事件消息。 执行结束 结束
根据上文所给的源码关键处打上断点可以进行快速调试。降低源码阅读难度。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82943.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!