关键接口(扩展点)
1、SpringApplicationRunListener(springboot应用启动监听接口)

解释:
- 刚执行run方法时
- 环境建立好时
- 上下文建立好时
- 上下文载入配置时
- 上下文刷新完成后,running方法执行前
- 上面几步全部完成后
- 启动失败后
springboot在spring.factories文件中使用的实现类时EventPublishingRunListener

在此实现类中,实现上面的接口后用于发布各种事件,如:
- ApplicationStartingEvent
- ApplicationEnvironmentPreparedEvent
- ApplicationContextInitializedEvent
- ApplicationPreparedEvent
- ApplicationStartedEvent
- ApplicationReadyEvent
- 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扩展点关键接口(扩展点)内容请搜索靠谱客的其他文章。
发表评论 取消回复