zoukankan      html  css  js  c++  java
  • 自定义ApplicationContextInitializer接口实现

    简介

    ApplicationContextInitializer是Spring框架提供的接口, 该接口的主要功能就是在接口ConfigurableApplicationContext刷新之前,允许用户对ConfigurableApplicationContext实例做一定的操作。该接口只有一个initialize方法。

    ApplicationContextInitializer接口源代码

    该接口只定义了一个initialize方法。

    public interface ApplicationContextInitializer<C extends ConfigurableApplicationContext> {
    	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/2019/07/17/自定义applicationcontextinitializer接口实现/

  • 相关阅读:
    洛谷 P1725 琪露诺 题解
    洛谷 P1714 切蛋糕 题解
    洛谷 P1352 没有上司的舞会 题解
    洛谷 P1194 买礼物 题解
    洛谷 P2872 [USACO07DEC]道路建设Building Roads 题解
    OpenCV之头文件分析
    电路学习之二极管(一)
    二极管学习(一)
    STL之vetor 排序
    小波分析(二)
  • 原文地址:https://www.cnblogs.com/secbro/p/11199055.html
Copyright © 2011-2022 走看看