For the latest stable version, please use Spring Framework 6.2.0!

Application Startup Steps

This part of the appendix lists the existing StartupSteps that the core container is instrumented with.

The name and detailed information about each startup step is not part of the public contract and is subject to change; this is considered as an implementation detail of the core container and will follow its behavior changes.
Table 1. Application startup steps defined in the core container
Name Description Tags

spring.beans.instantiate

Instantiation of a bean and its dependencies.

beanName the name of the bean, beanType the type required at the injection point.

spring.beans.smart-initialize

Initialization of SmartInitializingSingleton beans.

beanName the name of the bean.

spring.context.annotated-bean-reader.create

Creation of the AnnotatedBeanDefinitionReader.

spring.context.base-packages.scan

Scanning of base packages.

packages array of base packages for scanning.

spring.context.beans.post-process

Beans post-processing phase.

spring.context.bean-factory.post-process

Invocation of the BeanFactoryPostProcessor beans.

postProcessor the current post-processor.

spring.context.beandef-registry.post-process

Invocation of the BeanDefinitionRegistryPostProcessor beans.

postProcessor the current post-processor.

spring.context.component-classes.register

Registration of component classes through AnnotationConfigApplicationContext#register.

classes array of given classes for registration.

spring.context.config-classes.enhance

Enhancement of configuration classes with CGLIB proxies.

classCount count of enhanced classes.

spring.context.config-classes.parse

Configuration classes parsing phase with the ConfigurationClassPostProcessor.

classCount count of processed classes.

spring.context.refresh

Application context refresh phase.