十二. SpringApplicationRunListener接口分析

说明: 该接口是SpringApplication的run方法的侦听器。 SpringApplicationRunListener通过SpringFactoriesLoader加载并且应该声明一个public构造函数,该构造函数应该接收两个参数,一个是SpringApplication实例一个是String[]数组,将为每次运行创建一个新的SpringApplicationRunListener实例。

功能: 为run方法提供了各个运行阶段的监听事件处理功能。

该接口中的方法有:

//在run方法首次启动时立即调用。可以用于非常早期的初始化。

default void starting(ConfigurableBootstrapContext bootstrapContext) {

}

// 在准备好environment后但在创建ApplicationContext之前调用。

default void environmentPrepared(ConfigurableBootstrapContext bootstrapContext,

      ConfigurableEnvironment environment) {

}

// 在创建和准备ApplicationContext后,但在加载sources之前调用。

default void contextPrepared(ConfigurableApplicationContext context) {

}

// 在加载ApplicationContext后但在刷新之前调用。 

default void contextLoaded(ConfigurableApplicationContext context) {

}

//上下文已刷新,应用程序已启动,但尚未调用CommandLineRunners和ApplicationRunners。

default void started(ConfigurableApplicationContext context, Duration timeTaken) {

started(context);

}

//上下文已刷新,应用程序已启动,但尚未调用CommandLineRunners和ApplicationRunners。

// 注意自2.6.0以来已弃用,在2.8.0中删除,交付给started(ConfigurableApplicationContext context, Duration timeTaken)方法

@Deprecated

default void started(ConfigurableApplicationContext context) {

}

// 在run方法完成之前立即调用,此时应用程序上下文已刷新,并且所有CommandLineRunners和ApplicationRunners都已调用。

default void ready(ConfigurableApplicationContext context, Duration timeTaken) {

    running(context);

}

//在run方法完成之前立即调用,此时应用程序上下文已刷新,并且所有CommandLineRunners和ApplicationRunners都已调用。

//注意自2.6.0以来已弃用,在2.8.0中删除,交付给ready(ConfigurableApplicationContext context, Duration timeTaken)

@Deprecated

default void running(ConfigurableApplicationContext context) {

}

//在运行应用程序时发生故障时调用。

default void failed(ConfigurableApplicationContext context, Throwable exception) {

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容