面试官:如何在SpringBoot启动时执行特定代码
- 开发
- 22
-
1. 监听ApplicationContext事件
- ContextRefreshedEvent:触发于ApplicationContext初始化或刷新后。
- 使用场景:
- 执行一次性初始化操作。
- 初始化或刷新缓存。
- 与外部系统交互。
- 执行与Spring Bean相关的初始化。
2. 实现CommandLineRunner接口
- 自动执行实现了该接口的Bean的
run
方法。
- 使用场景:
3. 实现ApplicationRunner接口
- 类似于CommandLineRunner,但接收
ApplicationArguments
参数。
- 使用场景:
4. 使用@PostConstruct注解
- 在Bean的依赖注入完成后调用标注此注解的方法。
- 使用场景:
5. @Bean注解中指定初始化方法
- 通过
initMethod
属性指定Bean的初始化方法。
- 使用场景:
6. 实现InitializingBean接口
- 重写
afterPropertiesSet
方法实现依赖注入后的初始化逻辑。
- 使用场景:
7. 使用@EventListener注解
- 监听
ApplicationReadyEvent
事件执行初始化逻辑。
- 使用场景:
- 应用启动后执行一次性操作。
- 等待所有Bean初始化后再执行。
总结
- 根据项目需求和具体情况选择最适合的初始化方式。
- 熟练掌握和灵活运用这些方法,优化Spring Boot应用的启动流程。
原文地址:https://blog.csdn.net/modelsetget/article/details/140423109
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:https://www.suanlizi.com/kf/1812488233058177024.html
如若内容造成侵权/违法违规/事实不符,请联系《酸梨子》网邮箱:1419361763@qq.com进行投诉反馈,一经查实,立即删除!