应用程序启动步骤

附录的这部分列出了核心容器中配置的现有 StartupSteps

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

Table 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

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