Каким образом Spring идентифицирует, что применяется Starter вместо обычного *.jar файла?

Spring Starter — это не отдельный тип JAR-файла, а набор зависимостей, упакованных в удобный формат. В Maven или Gradle вы подключаете стартеры как обычные зависимости, например, spring-boot-starter-web.

Короткий ответ

Что ответить на собеседовании

Spring Starter — это не отдельный тип JAR-файла, а набор зависимостей, упакованных в удобный формат. В Maven или Gradle вы подключаете стартеры как обычные зависимости, например, spring-boot-starter-web.

Подробный разбор

Ответ с пояснениями

Spring Starter — это не отдельный тип JAR-файла, а набор зависимостей, упакованных в удобный формат. В Maven или Gradle вы подключаете стартеры как обычные зависимости, например, spring-boot-starter-web.

Spring Boot распознаёт стартеры по их содержимому и метаданным, особенно по наличию файла spring.factories в папке META-INF. Этот файл содержит автоматическую конфигурацию, которая подключается при старте приложения.

Таким образом, отличие стартеров от обычных JAR в том, что они содержат набор зависимостей и конфигураций, которые Spring Boot автоматически подхватывает и применяет, облегчая настройку проекта.

Пример подключения стартеров в build.gradle:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
}

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее