junior
Что такое Spring Boot Starter-ы?
Starter – специальная Maven/Gradle-зависимость, которая подтягивает набор связанных библиотек для определённой функциональности. Устраняет необходимость вручную подбирать совместимые версии зависимостей.
| Starter | Что включает |
|---|---|
spring-boot-starter |
Spring Core, автоконфигурация, логирование |
spring-boot-starter-web |
Spring MVC, встроенный Tomcat, Jackson |
spring-boot-starter-data-jpa |
Spring Data JPA, Hibernate, HikariCP |
spring-boot-starter-security |
Spring Security |
spring-boot-starter-test |
JUnit 5, Mockito, AssertJ, Spring Test |
spring-boot-starter-validation |
Hibernate Validator |
spring-boot-starter-actuator |
Мониторинг и метрики |
spring-boot-starter-cache |
Абстракция кэширования |
Пример подключения в Maven
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.0</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
Версии указывать не нужно – spring-boot-starter-parent управляет совместимостью всех версий.
На собеседовании: важно понимать, зачем нужны starter-ы (управление версиями + автоконфигурация). Частая ошибка – добавлять зависимости напрямую (например,
hibernate-core) вместо starter-а, что приводит к конфликтам версий.