SpringBoot启动流程SpringApplication源码分析
目录
- 引言
- SpringBoot启动流程概述
- SpringApplication类结构
- SpringApplication的初始化
- SpringApplication的启动流程
- 准备环境
- 创建应用上下文
- 刷新应用上下文
- 执行Runners
- SpringApplication的配置
- SpringApplication的事件机制
- SpringApplication的自定义扩展
- 总结
引言
Spring Boot 是一个用于简化 Spring 应用开发的框架,它通过自动配置和约定优于配置的原则,使得开发者能够快速搭建和运行 Spring 应用。Spring Boot 的核心启动类 SpringApplication
是整个应用的入口,负责应用的初始化和启动。本文将深入分析 SpringApplication
的源码,详细解析 Spring Boot 的启动流程。
SpringBoot启动流程概述
Spring Boot 的启动流程可以概括为以下几个步骤:
- 初始化
SpringApplication
实例:通过 SpringApplication
的构造函数初始化应用。
- 准备环境:加载配置文件、设置环境变量等。
- 创建应用上下文:根据应用类型(如 Web 应用或非 Web 应用)创建相应的
ApplicationContext
。
- 刷新应用上下文:加载 Bean 定义、初始化 Bean、启动 Web 服务器等。
- 执行 Runners:执行
ApplicationRunner
和 CommandLineRunner
。
- 启动完成:应用启动完成,进入运行状态。
SpringApplication类结构
SpringApplication
类是 Spring Boot 启动的核心类,它负责整个应用的初始化和启动。SpringApplication
的主要结构如下:
”`java
public class SpringApplication {
private Set> primarySources;
private ResourceLoader resourceLoader;
private Class<?> mainApplicationClass;
private ConfigurableEnvironment environment;
private ConfigurableApplicationContext applicationContext;
private SpringApplicationRunListeners listeners;
private boolean webEnvironment;
private boolean registerShutdownHook = true;
private Banner.Mode bannerMode = Banner.Mode.CONSOLE;
private boolean headless = true;
private boolean logStartupInfo = true;
private boolean addCommandLineProperties = true;
private boolean addConversionService = true;
private boolean allowBeanDefinitionOverriding = false;
private boolean allowCircularReferences = false;
private boolean lazyInitialization = false;
private boolean registerShutdownHookRegistered = false;
private boolean customEnvironment = false;
private boolean customBanner = false;
private boolean customApplicationContext = false;
private boolean customInitializers = false;
private boolean customListeners = false;
private boolean customBeanNameGenerator = false;
private boolean customResourceLoader = false;
private boolean customConversionService = false;
private boolean customPropertySources = false;
private boolean customEnvironmentProperties = false;
private boolean customEnvironmentProfiles = false;
private boolean customEnvironmentActiveProfiles = false;
private boolean customEnvironmentDefaultProfiles = false;
private boolean customEnvironmentPropertySources = false;
private boolean customEnvironmentPropertySource = false;
private boolean customEnvironmentPropertySourceOrder = false;
private boolean customEnvironmentPropertySourcePlaceholder = false;
private boolean customEnvironmentPropertySourceResolver = false;
private boolean customEnvironmentPropertySourceFilter = false;
private boolean customEnvironmentPropertySourcePostProcessor = false;
private boolean customEnvironmentPropertySourceInitializer = false;
private boolean customEnvironmentPropertySourceConfigurer = false;
private boolean customEnvironmentPropertySourceCustomizer = false;
private boolean customEnvironmentPropertySourceLoader = false;
private boolean customEnvironmentPropertySourceFactory = false;
private boolean customEnvironmentPropertySourceRegistry = false;
private boolean customEnvironmentPropertySourceResolverFactory = false;
private boolean customEnvironmentPropertySourceFilterFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceLoaderFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceRegistryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceResolverFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceFilterFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourcePostProcessorFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceInitializerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceConfigurerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory = false;
private boolean customEnvironmentPropertySourceCustomizerFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactoryFactory