Core

@SpringBootApplication

Что включает в себя @SpringBootApplication

@Configuration          // Указывает, что класс содержит @Bean методы
@EnableAutoConfiguration // Включает автонастройку Spring Boot
@ComponentScan          // Сканирует компоненты в текущем пакете и подпакетах

@SpringBootApplication
public class MyApp {
    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }
}

Этот класс будет:

Жизненный цикл создания applicationcontext

Spring-потрошитель: жизненный цикл Spring Framework

  1. Создание экземпляра контекста
  2. Регистрация BeanDefinition (Контекст сканирует аннотации (@Component, @Configuration, @Bean), XML или другие источники и регистрирует метаданные бинов в BeanDefinitionRegistry.)

Загрузка BeanDefinition'ов

  1. Выполнение BeanDefinitionRegistryPostProcessor .