1  ApplicationContextInitializer 容器初始化之前执行

 

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

 

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

  starting

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

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

  contextLoaded

容器一启动这后面 就开始初始化容器里面的对象了

CommandLineRunner,ApplicationRunner  之后

 

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

 

 

 

 

 

 

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

 

spring生命周期监听接口概述_spring

 

 

 

 

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

 

spring生命周期监听接口概述_初始化_02