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) 编辑 收藏 举报