Spring Boot:容器加载时执行特定操作

相关文章:Spring:获取容器中的Bean
相关文章:Spring:自定义类扫描器(扫包)

  • 某些情况下我们需要在 Spring Boot 容器启动加载完后执行一些操作,此时可以通过实现 ApplicationListener<E extends ApplicationEvent> 接口,并指定相应事件来执行操作,例如启动某些自定义守护线程

  • ApplicationContextEvent 是由 ApplicationContext 引发的事件基类,它有几个实现类:

    • ContextRefreshedEvent:ApplicationContext 容器初始化或者刷新时触发该事件,执行一次
    • ContextStartedEvent:当使用 ConfigurableApplicationContext 接口的 start() 方法启动 ApplicationContext 容器时触发该事件
    • ContextClosedEvent:当使用 ConfigurableApplicationContext 接口的 close() 方法关闭 ApplicationContext 容器时触发该事件
    • ContextStopedEvent: 当使用 ConfigurableApplicationContext 接口的 stop() 方法停止 ApplicationContext 容器时触发该事件

代码例子

@Component
public class ApplicationStartup implements ApplicationListener<ContextRefreshedEvent> {

    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        System.out.println("容器初始化或者刷新时触发该事件,执行一次");
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,112评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,773评论 19 139
  • http://liuxing.info/2017/06/30/Spring%20AMQP%E4%B8%AD%E6%...
    sherlock_6981阅读 16,150评论 2 11
  • 残酷的现实总会打击个人的理想,现在的中国处于经济变革的大时代,如今社会即将阶级固化;个人不过是时代长河中的一个水分...
    希夷子阅读 1,670评论 0 1
  • 一个决策对于特定的人,特定的事,特定的时间,可能就是另外一个世界!明智决策是很重要的! 明智决策...
    鸿运当头168阅读 1,469评论 0 2