Spring Boot стартеры
Тема дорожной карты · Spring Boot
Стартовые POM Spring Boot — это отобранные Maven- (или Gradle-) дескрипторы зависимостей, объединяющие все транзитивные библиотеки, необходимые для активации конкретной функции в Spring Boot-приложении, управляемые через Spring Boot BOM для автоматического устранения конфликтов версий. Объявление spring-boot-starter-web в pom.xml подтягивает Spring MVC, встроенный Tomcat, Jackson для JSON-сериализации и Hibernate Validator для Bean Validation, тогда как spring-boot-starter-data-jpa добавляет Hibernate, Spring Data JPA и HikariCP — каждый в точной версии, протестированной и выпущенной с текущей линейкой Spring Boot. Родительский POM Spring Boot (spring-boot-starter-parent) устанавливает кодировку источников UTF-8, версию Java, фильтрацию ресурсов и умолчания плагинов так, что разработчикам не нужно вручную настраивать maven-compiler-plugin или spring-boot-maven-plugin, делая новые Spring Boot-проекты собираемыми из коробки через mvn package. Стартовые POM существуют для каждого значимого компонента экосистемы Spring — spring-boot-starter-security для Spring Security, spring-boot-starter-actuator для метрик Micrometer и Prometheus, spring-boot-starter-amqp для RabbitMQ, spring-boot-starter-data-redis для Redis, spring-boot-starter-data-mongodb для MongoDB и spring-boot-starter-test для JUnit 5 и Testcontainers, — так что управление зависимостями сводится к выбору правильных стартеров, а не к поиску совместимых версий библиотек. Команды, создающие внутренние платформы, могут публиковать пользовательские стартовые POM Spring Boot, инкапсулирующие общую инфраструктурную конфигурацию — мультитенантность, наблюдаемость или настройку клиента OAuth2 — как полноценные переиспользуемые артефакты, потребляемые любым Spring Boot-сервисом в организации.
Как это работает
Spring Boot стартеры: Spring Framework — доминантный Java application-фреймворк; Spring Boot — opinionated, auto-configured слой поверх. Spring Boot 3.x (2026 LTS-линия) требует JDK 17+, поддерживает JDK 21 + 23, использует Jakarta EE (не javax). Starter POMs объединяют связанные зависимости (spring-boot-starter-web, -data-jpa, -security и т.п.). Spring Initializr (start.spring.io) генерирует project-skeletons. Auto-configuration сканирует classpath + связывает разумные дефолты.
Когда применять
Для новых Java-приложений — Spring Boot 3.x (LTS): широкая экосистема, простой onboarding, production-ready из коробки. Spring Initializr для bootstrap; не добавляйте 20 starters сразу — только нужное. Близко к дефолтам пока нет причины — каждая кастомизация = что-то для поддержки. Для не-Java JVM (Kotlin) Spring Boot поддерживает first-class.
Типичные ошибки
Ловушки Spring Boot стартеры: новый проект на Spring Boot 2.x в 2026 (EOL — берите 3.x); путаница Spring + Spring Boot (Boot — auto-config-слой, не замена); пиньят JDK 8/11 навсегда (Spring 3.x требует 17); добавляют каждый starter "на всякий случай" (security surface + classpath bloat).
Связанные понятия
Полезные ресурсы
Проверить знания (1)
Загрузка вопросов…