Starters

Базовый Spring
≈ 1 мин чтения

Зависимости группами, а не по одной

Типичному приложению редко нужна одна библиотека. Например, для web-приложения понадобятся Spring MVC, JSON-преобразование, логирование и другие связанные компоненты. Starter — это готовый набор зависимостей для определённой задачи.

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-web")
    testImplementation("org.springframework.boot:spring-boot-starter-test")
}

Вместо ручного подбора каждой библиотеки мы подключаем starter и получаем совместимый набор компонентов. Это уменьшает количество решений, которые нужно принять при создании проекта, и делает сборку понятнее: по названию зависимости сразу видно, для какой возможности она подключена.

Версии согласуются централизованно

Spring Boot управляет версиями большого числа библиотек своей экосистемы. Поэтому в обычном Boot-проекте для зависимостей, которыми управляет Boot, часто не нужно указывать версию вручную. Это помогает избежать ситуации, когда отдельные библиотеки формально подключились, но плохо совместимы друг с другом.

Starter не «включает функцию» сам по себе. Он прежде всего добавляет зависимости. То, как наличие этих библиотек влияет на приложение, связано уже с механизмом auto-configuration, который разберём дальше.