1. 使用场景:在一些业务场景中,当容器初始化完成之后,需要处理一些操作,比如一些数据的加载、初始化缓存、特定任务的注册、开启线程或程序来干某些事情等等。

2. 使用步骤:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  A. 监听类实现ApplicationListener接口 ;

  B. 将监听类添加到SpringApplication实例(两种方式:application.properties配置、java启动配置)。

3. 支持的事件类型:

  A. ApplicationStartedEvent —— spring boot启动开始时执行的事件;

  B. ApplicationEnvironmentPreparedEvent —— spring boot 对应Enviroment已经准备完毕,但此时上下文context还没有创建;

  C. ApplicationPreparedEvent —— spring boot上下文context创建完成,但此时spring中的bean是没有完全加载完成的;

  D. ApplicationFailedEvent —— spring boot启动异常时执行事件 。

4.Spring内置的事件:

  A.  ContextRefreshedEvent —— ApplicationContext容器初始化或者刷新时触发该事件;

  B.  ContextStartedEvent —— 当使用ConfigurableApplicationContext接口的start()方法启动ApplicationContext容器时触发该事件;

  C. ContextClosedEvent —— 当使用ConfigurableApplicationContext接口的close()方法关闭ApplicationContext容器时触发该事件;

  D. ContextStopedEvent —— 当使用ConfigurableApplicationContext接口的stop()方法停止ApplicationContext容器时触发该事件。

5.举例说明:

 

 

可参考:https://blog.csdn.net/liaokailin/article/details/48186331

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄