我是靠谱客的博主 默默芝麻,最近开发中收集的这篇文章主要介绍springboot扩展点关键接口(扩展点),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

关键接口(扩展点)

1、SpringApplicationRunListener(springboot应用启动监听接口)

解释:

  1. 刚执行run方法时
  2. 环境建立好时
  3. 上下文建立好时
  4. 上下文载入配置时
  5. 上下文刷新完成后,running方法执行前
  6. 上面几步全部完成后
  7. 启动失败后

springboot在spring.factories文件中使用的实现类时EventPublishingRunListener

在此实现类中,实现上面的接口后用于发布各种事件,如:

  1. ApplicationStartingEvent
  2. ApplicationEnvironmentPreparedEvent
  3. ApplicationContextInitializedEvent
  4. ApplicationPreparedEvent
  5. ApplicationStartedEvent
  6. ApplicationReadyEvent
  7. ApplicationFailedEvent

 

2、ApplicationListener

和上面类似。但是这个接口是spring框架的东西,用于ConfigurableApplicationContext上下文事件的处理。

https://blog.csdn.net/sumengnan/article/details/113634063

借助SpringFactoriesLoader机制,在SpringBoot的项目自定义的META-INF/spring.factories文件中配置如下:

3、ApplicationContextInitializer(应用上下文初始化器)

这个接口也是spring框架的东西。

在ConfigurableApplicationContext类型(或子类型)的ApplicationContext的refresh之前,对ConfiurableApplicationContext的实例(AnnotationConfigServletWebServerApplicationContext)做进一步的设置和处理。

源码如下:

spring.factories文件中配置的其他的应用上下文初始化器如下:

 

4、CommandLineRunner或ApplicationRunner

在springboot启动完成后调用。我们可以执行一些内容,例如:读取配置文件、数据库连接等

源码如下:

可以实现Ordered接口调整执行的顺序。

说明:CommandLineRunner或ApplicationRunner接口唯一不同的是,参数的类型不同

CommandLineRunner是ApplicationArguments类型的参数。ApplicationRunner是String数组。

 

5、ServletContextInitialzer(servlet上下文初始化器)

用于初始化ServletContext。跟我们servlet有关系的,例如过滤器、servlet、session、Listen等都可以操作

实现类如下:

当你是servlet(web环境)时,tomcat启动时这些实现类的onStartup方法

会被ServletWebServerApplicationContext调用

应用:

著名的DispatchServlet类就是通过此接口注入到Servlet中去的

 

 

最后

以上就是默默芝麻为你收集整理的springboot扩展点关键接口(扩展点)的全部内容,希望文章能够帮你解决springboot扩展点关键接口(扩展点)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部