Использует ли Spring Boot Spring Core?

«Использует ли Spring Boot Spring Core?» — вопрос из категории Spring, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, Spring Boot построен поверх Spring Framework и активно использует его ядро — Spring Core.

Как это работает: Spring Boot — это слой конвенций и автоматизации, который упрощает настройку и запуск приложений Spring, но все базовые механизмы предоставляет Spring Core.

  • IoC-контейнер и DI: Управление бинами и внедрение зависимостей (@Autowired, @Component).
  • Аннотации конфигурации: @SpringBootApplication включает @Configuration из Spring Core.
  • Запуск: SpringApplication.run() создает и запускает ApplicationContext (контейнер Spring Core).

Пример, демонстрирующий связь:

@SpringBootApplication // Мета-аннотация, включающая @Configuration (Spring Core)
public class Application {
    public static void main(String[] args) {
        // Запускает контекст Spring (Core)
        SpringApplication.run(Application.class, args);
    }
}

@Service // Аннотация Spring Core для объявления бина
public class MyService {
    @Autowired // Внедрение зависимости из контейнера Spring Core
    private MyRepository repository;
}

Таким образом, Spring Boot не заменяет, а расширяет и упрощает использование Spring Core.