摘要:简介是框架提供的接口该接口的主要功能就是在接口刷新之前,允许用户对实例做一定的操作。该接口只有一个方法。实现该接口实现该接口,并在方法中打印容器中初始化了多少个对象。启动程序启动程序,打印日志容器中初始化数量原文链接
简介
ApplicationContextInitializer是Spring框架提供的接口, 该接口的主要功能就是在接口ConfigurableApplicationContext刷新之前,允许用户对ConfigurableApplicationContext实例做一定的操作。该接口只有一个initialize方法。
ApplicationContextInitializer接口源代码该接口只定义了一个initialize方法。
public interface ApplicationContextInitializer实现该接口{ void initialize(C applicationContext); }
实现该接口,并在initialize方法中打印容器中初始化了多少个Bean对象。
@Order(123) // @Order的value值越小越早执行 public class LearnApplicationContextInitializer implements ApplicationContextInitializer { @Override public void initialize(ConfigurableApplicationContext applicationContext) { // 打印容器里面初始化了多少个Bean System.out.println("容器中初始化Bean数量:" + applicationContext.getBeanDefinitionCount()); } }接口配置使用 第一种方法
仿照Spring Boot初始化配置使用该接口实现类的方法,在项目的classpath下创建META-INF/spring.factories文件。并仿照Spring Boot的配置格式进行配置:
# Application Context Initializers org.springframework.context.ApplicationContextInitializer= com.secbro2.learn.initializer.LearnApplicationContextInitializer第二种方法
通过application.properties或application.yml文件进行配置。格式如下:
context.initializer.classes=com.secbro2.learn.initializer.LearnApplicationContextInitializer第三种方法
通过SpringApplication提供的addInitializers方法进行追加配置的。
public static void main(String[] args) { SpringApplication app = new SpringApplication(SpringLearnApplication.class, Person.class); app.addInitializers(new LearnApplicationContextInitializer()); app.run(args); }启动程序
启动Spring Boot程序,打印日志:
容器中初始化Bean数量:6
原文链接:https://www.choupangxia.com/2...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/75421.html
摘要:简介是框架提供的接口该接口的主要功能就是在接口刷新之前,允许用户对实例做一定的操作。该接口只有一个方法。实现该接口实现该接口,并在方法中打印容器中初始化了多少个对象。启动程序启动程序,打印日志容器中初始化数量原文链接 简介 ApplicationContextInitializer是Spring框架提供的接口, 该接口的主要功能就是在接口ConfigurableApplicationC...
摘要:注在类上标注,不是方法上方法是接口的方法,通过继承和实现拥有了该方法打印容器里面有多少个打印人所有个的名字如下的实现类接口是在容器刷新之前执行的一个回调函数。 一、.简述 ApplicationContextInitializer是Spring框架原有的概念, 这个类的主要目的就是在 ConfigurableApplicationContext类型(或者子类型)的...
摘要:设置应用上线文初始化器的作用是什么源码如下。来看下方法源码,其实就是初始化一个应用上下文初始化器实例的集合。设置监听器和设置初始化器调用的方法是一样的,只是传入的类型不一样,设置监听器的接口类型为,对应的文件配置内容请见下方。 Spring Boot 的应用教程我们已经分享过很多了,今天来通过源码来分析下它的启动过程,探究下 Spring Boot 为什么这么简便的奥秘。 本篇基于 S...
摘要:创建及准备创建。目前已知关心这个事件的有要注意的是在这个阶段,里只有,是的加载工作的起点。原因是注入这些回调接口本身没有什么意义。在其构造函数内部间接的给注册了几个与相关注解的处理器。 相关代码在: https://github.com/chanjarster/spring-boot-all-callbacks 注:本文基于spring-boot 1.4.1.RELEASE, spri...
摘要:额外知识点参考知识点加载策略资源后,容器启动时会调用的方法。从获取对象对象,如果存在则抛异常。这个是重点核心的知识点,参考知识点。看到这里应该知道每一层的作用吧,一层一层往上递进第四步正在研读 1.根据我们常用的web.xml里,我们找到的org.springframework.web.context.ContextLoaderListener。web.xml如下 moo...
阅读 3571·2021-10-11 10:59
阅读 1590·2021-09-29 09:35
阅读 2257·2021-09-26 09:46
阅读 3770·2021-09-10 10:50
阅读 952·2019-08-29 12:17
阅读 819·2019-08-26 13:40
阅读 2432·2019-08-26 11:44
阅读 2102·2019-08-26 11:22