应用启动步骤

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

infra.beans.instantiate

Bean 及其依赖项的实例化。

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

infra.beans.smart-initialize

SmartInitializingSingleton Bean 的初始化。

beanName Bean 的名称。

infra.context.base-packages.scan

基础包扫描。

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

infra.context.beans.post-process

Bean 后处理阶段。

infra.context.bean-factory.post-process

调用 BeanFactoryPostProcessor Bean。

postProcessor 当前后处理器。

infra.context.beandef-registry.post-process

调用 BeanDefinitionRegistryPostProcessor Bean。

postProcessor 当前后处理器。

infra.context.component-classes.register

通过 AnnotationConfigApplicationContext#register 注册组件类。

classes 给定用于注册的类数组。

infra.context.config-classes.enhance

使用 CGLIB 代理增强配置类。

classCount 被增强的类的数量。

infra.context.config-classes.parse

使用 ConfigurationClassPostProcessor 解析配置类阶段。

classCount 已处理的类的数量。

infra.context.refresh

应用上下文刷新阶段。