一篇文章看懂ApplicationContextFactory

本文深入探讨了ApplicationContextFactory在Spring Boot 3.2和Spring Framework 6.1.4中的作用,包括其初始化过程、DefaultApplicationContextFactory的细节以及BiFunction类型的使用。DefaultApplicationContextFactory根据WebApplicationType创建不同类型的ApplicationContext,并提供了灵活的扩展点,允许调用方自定义操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ApplicationContextFactory

基于 springboot3.2 和 springframework6.1.4

ApplicationContextFactory初始化

SpringApplication中初始化ApplicationContextFactory

private ApplicationContextFactory applicationContextFactory = ApplicationContextFactory.DEFAULT;

ApplicationContextFactory中创建了DefaultApplicationContextFactory实例

ApplicationContextFactory DEFAULT = new DefaultApplicationContextFactory();

DefaultApplicationContextFactory

这个类的主要功能是根据不同的 WebApplicationType 创建相应的 ConfigurableApplicationContext实例,并提供了一些方法用于获取环境类型和创建环境。同时,它使用了 SpringFactoriesLoader 来加载 ApplicationContextFactory实例,并在一系列实例中执行特定的操作。

  1. 类的方法:

    • getEnvironmentType 方法:

      @Override
      public Class<? extends ConfigurableEnvironment> getEnvironmentType(WebApplicationType webApplicationType) {
             
             
          return getFromSpringFactories(webApplicationType, ApplicationContextFactory::getEnvironmentType, null);
      }
      

      该方法根据 WebApplicationType 获取环境类型,并通过 getFromSpringFactories方法执行 ApplicationContextFactory::getEnvironmentType 操作。

    • createEnvironment 方法:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值