0%

SpringApplicationRunListener

SpringApplicationRunListener

在看源码的时候经常看到

1
2
SpringApplicationRunListeners listeners = getRunListeners(args);
listeners.starting();

这个SpringApplicationRunListeners是用来干嘛的呢

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
public interface SpringApplicationRunListener {

/**
* run方法首次启动的时候立刻调用,可以进行早期的初始化操作
*/
void starting();

/**
* 环境被准备好的时候被调用,但是在ApplicationContext创建之前
*/
default void environmentPrepared(ConfigurableEnvironment environment) {
}

/**
* ApplicationContext已经被创建且准备好了,但是源还没被加载
*/
default void contextPrepared(ConfigurableApplicationContext context) {
}

/**
* ApplicationContext已经被加载但是在刷新之前
*/
default void contextLoaded(ConfigurableApplicationContext context) {
}

/**
* @since 2.0.0 ApplicationContext已经被刷新且启动但是CommandLineRunner和ApplicationRunner还没有被调用
*/
default void started(ConfigurableApplicationContext context) {
}

/**
* @since 2.0.0 run方法完成之前被调用,ApplicationContext已经被刷新且启动,CommandLineRunner和ApplicationRunner已经被调用
*/
default void running(ConfigurableApplicationContext context) {
}

/**
* @since 2.0.0 运行ApplicationContext出错
*/
default void failed(ConfigurableApplicationContext context, Throwable exception) {
}

}

欢迎关注我的其它发布渠道