Ответ
Spring Boot Starter — это набор предварительно сконфигурированных зависимостей (Maven/Gradle), который упрощает добавление конкретной функциональности в проект.
Как это работает:
- Вы добавляете один стартер-артефакт в
pom.xmlилиbuild.gradle. - Maven/Gradle автоматически подтягивает все необходимые транзитивные зависимости (библиотеки).
- Spring Boot предоставляет автоматическую конфигурацию (auto-configuration) для этих библиотек на основе классов в classpath.
Пример: добавление JPA и Hibernate
<!-- pom.xml -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
Этот один dependency принесет:
spring-data-jpa,hibernate-core,spring-orm(основные библиотеки)- Драйвер БД (например,
h2или нужно добавитьmysql-connector-jотдельно) - Автоконфигурацию
DataSource,EntityManagerи т.д.
Популярные стартеры:
spring-boot-starter-web— для создания REST API (Tomcat, Spring MVC).spring-boot-starter-test— для тестирования (JUnit, Mockito, Spring Test).spring-boot-starter-security— для аутентификации и авторизации.spring-boot-starter-cache— для абстракции кэширования.
Почему это удобно: Starters избавляют разработчика от ручного управления версиями совместимых библиотек и написания шаблонных конфигураций, следуя принципу "convention over configuration".