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 }

猜你喜欢

转载自www.cnblogs.com/fanqisoft/p/10349074.html