spring生命周期监听接口概述

1  ApplicationContextInitializer 容器初始化之前执行

 

2 ApplicationListener 在容器的各个生命周期执行 ,通过事件区分,第一次执行在 SpringApplicationRunListener.starting  之前,最后一次执行在  SpringApplicationRunListener.running 之后

 

3 SpringApplicationRunListener 在容器的各个生命周期执行,通过方法区分 顺序如下

  starting

  environmentPrepared  在这以后执行的   ApplicationContextInitializer 的初始化方法

  contextPrepared  在这前后执行的   ApplicationContextInitializer 的初始化方法

  contextLoaded

  started  这个的时间节点在  CommandLineRunner,ApplicationRunner  之前,容器一启动这后面 就开始初始化容器里面的对象了

  running 这个的时间节点在  CommandLineRunner,ApplicationRunner  之后

 

4 CommandLineRunner,ApplicationRunner 在容器初始化以后执行 ,他们两个顺序由Order 决定

 

 

 

 

 

 

一般我们是在容器启动以后执行一些操作,所以一般使用 CommandLineRunner,ApplicationRunner  ,并且他们只要加入spring容器就会执行,普通需求推荐实现这两个接口

 

 

 

 

 

ApplicationContextInitializer,ApplicationListener ,SpringApplicationRunListener  是容器不完整启动的生命周期就会执行,需要在 mete-info/spring.factories 里面配置 指定才生效

 

 

posted on 2022-09-09 00:31  zhangyukun  阅读(103)  评论(0编辑  收藏  举报

导航