Версии Spring
Тема дорожной карты · Spring Boot
Версии Spring Boot представляют собой основные и минорные релизные линейки Spring Boot, каждая из которых построена на конкретной базовой версии Spring Framework и имеет определённое окно поддержки, которое команды должны отслеживать при планировании обновлений. Spring Boot 2.x (построенный на Spring Framework 5.x) ввёл авто-конфигурацию, Actuator и Spring WebFlux с Project Reactor, заложив паттерны, используемые сегодня, тогда как Spring Boot 3.x (построенный на Spring Framework 6.x и требующий Java 17+) принёс первоклассную поддержку GraalVM Native Image, миграцию пространств имён Jakarta EE 10 (с javax.* на jakarta.*) и Micrometer Observation API как единую абстракцию наблюдаемости. Каждая версия Spring Boot поставляется с Bill of Materials (BOM), фиксирующим совместимые версии Hibernate, Spring Data, Spring Security, Spring Cloud, Testcontainers, Micrometer и десятков других зависимостей, поэтому объявление spring-boot-starter-parent родительским POM — рекомендуемый способ наследовать согласованное управление зависимостями без конфликтов версий. Выпуски с долгосрочной поддержкой (LTS), такие как Spring Boot 3.3, получают расширенное обслуживание и патчи безопасности от VMware Tanzu, делая их безопасным выбором для продакшн Spring Boot-приложений, развёрнутых в Docker и Kubernetes в регулируемых отраслях. Следить за версиями Spring Boot критически важно для получения CVE-патчей Spring Security, улучшений производительности встроенного сервера Tomcat или Netty и новых возможностей Spring Data для интеграций с MongoDB, Redis и R2DBC.
Как это работает
Версии Spring: 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: новый проект на 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).