应用程序启动步骤

附录的这部分列出了核心容器中已经被仪器化的StartupSteps

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

spring.beans.instantiate

实例化一个bean及其依赖项。

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

spring.beans.smart-initialize

初始化SmartInitializingSingleton beans。

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 beans。

postProcessor 当前的后处理器。

spring.context.beandef-registry.post-process

调用BeanDefinitionRegistryPostProcessor beans。

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

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