SpringBoot几个重要的事件回调、监听机制

(1)、需要配置在META-INF/Spring.factories

  1.ApplicationContextInitializer

复制代码
 1 //
 2 // Source code recreated from a .class file by IntelliJ IDEA
 3 // (powered by Fernflower decompiler)
 4 //
 5 
 6 package org.springframework.context;
 7 
 8 public interface ApplicationContextInitializer<C extends ConfigurableApplicationContext> {
 9     //监听ioc容器启动
10     void initialize(C var1);
11 }
复制代码

  2.SpringApplicationRunListener 

复制代码
 1 //
 2 // Source code recreated from a .class file by IntelliJ IDEA
 3 // (powered by Fernflower decompiler)
 4 //
 5 
 6 package org.springframework.boot;
 7 
 8 import org.springframework.context.ConfigurableApplicationContext;
 9 import org.springframework.core.env.ConfigurableEnvironment;
10 
11 public interface SpringApplicationRunListener {
12     //监听容器开始
13     void starting();
14     //SpringBoot环境准备好
15     void environmentPrepared(ConfigurableEnvironment environment);
16     //ioc容器准备好了
17     void contextPrepared(ConfigurableApplicationContext context);
18     //容器环境加载完成
19     void contextLoaded(ConfigurableApplicationContext context);
20 
21     void started(ConfigurableApplicationContext context);
22 
23     void running(ConfigurableApplicationContext context);
24     //SpringBoot创建完成
25     void failed(ConfigurableApplicationContext context, Throwable exception);
26 }
复制代码

(2)、只需要放到ioc容器中即可

  1.ApplicationRunner 

复制代码
 1 //
 2 // Source code recreated from a .class file by IntelliJ IDEA
 3 // (powered by Fernflower decompiler)
 4 //
 5 
 6 package org.springframework.boot;
 7 
 8 @FunctionalInterface
 9 public interface ApplicationRunner {
10     void run(ApplicationArguments args) throws Exception;
11 }
复制代码

  2.CommandLineRunner 

复制代码
 1 //
 2 // Source code recreated from a .class file by IntelliJ IDEA
 3 // (powered by Fernflower decompiler)
 4 //
 5 
 6 package org.springframework.boot;
 7 
 8 @FunctionalInterface
 9 public interface CommandLineRunner {
10     void run(String... args) throws Exception;
11 }
复制代码

 

作者:奇

出处:https://www.cnblogs.com/fanqisoft/p/10349074.html

版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。

posted @   SpringCore  阅读(2480)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示