应用程序启动步骤

本附录部分列出了核心容器中已有的 `StartupSteps`。

每个启动步骤的名称和详细信息不属于公共契约,可能会发生变化;这被视为核心容器的实现细节,并将遵循其行为变化。
表 1. 核心容器中定义的应用程序启动步骤
名称 描述 标签

spring.beans.instantiate

实例化 Bean 及其依赖项。

beanName Bean 的名称,beanType 注入点所需的类型。

spring.beans.smart-initialize

初始化 `SmartInitializingSingleton` Bean。

beanName Bean 的名称。

spring.context.annotated-bean-reader.create

创建 `AnnotatedBeanDefinitionReader`。

spring.context.base-packages.scan

扫描基本包。

packages 用于扫描的基本包数组。

spring.context.beans.post-process

Bean 后处理阶段。

spring.context.bean-factory.post-process

调用 `BeanFactoryPostProcessor` Bean。

postProcessor 当前的后处理器。

spring.context.beandef-registry.post-process

调用 `BeanDefinitionRegistryPostProcessor` Bean。

postProcessor 当前的后处理器。

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

应用程序上下文刷新阶段。