Application Startup Steps

此附录部分列出了核心容器所用的现有 StartupSteps

有关每个启动步骤的名称和详细信息不属于公共契约,并且可能发生变化;这被视为核心容器的实现细节,并且将遵循其行为变化。

Table 1. Application startup steps defined in the core container
Name Description Tags

spring.beans.instantiate

实例化 bean 及其依赖项。

beanName bean 的名称,beanType 注入点要求的类型。

spring.beans.smart-initialize

Initialization of SmartInitializingSingleton beans.

beanName bean 的名称。

spring.context.annotated-bean-reader.create

Creation of the AnnotatedBeanDefinitionReader.

spring.context.base-packages.scan

Scanning of base packages.

packages 待扫描的基础包数组。

spring.context.beans.post-process

Beans post-processing phase.

spring.context.bean-factory.post-process

调用 BeanFactoryPostProcessor bean。

postProcessor the current post-processor.

spring.context.beandef-registry.post-process

调用 BeanDefinitionRegistryPostProcessor bean。

postProcessor the current post-processor.

spring.context.component-classes.register

通过 AnnotationConfigApplicationContext#register 注册组件类。

classes 已给注册类的数组。

spring.context.config-classes.enhance

通过 CGLIB 代理对配置类进行增强。

classCount 的增强类数目。

spring.context.config-classes.parse

解析阶段的配置类带有 ConfigurationClassPostProcessor

classCount 处理的类数目。

spring.context.refresh

Application context refresh phase.