(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 }