← Назад к вопросам
Какая последняя версия Spring Boot?
2.3 Middle🔥 201 комментариев
#Spring Boot и Spring Data#Spring Framework
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Какая последняя версия Spring Boot?
На момент начала 2025 года последняя версия Spring Boot — 3.4.x с рекомендацией использовать 3.3.x или 3.4.x для новых проектов.
Версии Spring Boot
Текущие активные версии
| Версия | Release | End of Life | Java | Статус |
|---|---|---|---|---|
| 3.4.x | Декабрь 2024 | Декабрь 2026 | 17+ | 🟢 Текущая |
| 3.3.x | Май 2024 | Май 2026 | 17+ | 🟢 LTS |
| 3.2.x | Декабрь 2023 | Декабрь 2025 | 17+ | 🟡 Поддержка |
| 3.1.x | Май 2023 | Май 2025 | 17+ | 🟡 Поддержка |
| 3.0.x | Ноябрь 2022 | Ноябрь 2024 | 17+ | 🔴 Окончена |
| 2.7.x | Май 2022 | Май 2027 | 8+ | 🟢 LTS |
История версий
Spring Boot 1.x (2014-2018)
└─ Конец жизни
Spring Boot 2.x (2018-2024)
├─ 2.5.x - 2.6.x (Классические версии)
├─ 2.7.x (LTS - последняя в 2.x)
└─ Поддержка до 2027 года
Spring Boot 3.x (2022-настоящее)
├─ 3.0.x - 3.2.x (Миграция на Java 17+)
├─ 3.3.x (LTS версия)
├─ 3.4.x (Текущая стабильная)
└─ Поддержка до 2026-2027
Spring Boot 3.4 - главные улучшения
1. Native Image Support (улучшения)
// Spring Boot 3.4 лучше работает с GraalVM Native Image
// Быстрее загружается, меньше памяти
// Раньше (Spring Boot 2.x):
// - Время запуска: 5-10 секунд
// - Память: 256MB+
// Теперь (Spring Boot 3.4):
// - Время запуска: 50-100ms
// - Память: 50-100MB
2. Spring 6.1 Features
// Улучшенный работа с данными
@Service
public class UserService {
// Spring Data улучшил проекции
interface UserProjection {
String getName();
String getEmail();
}
public List<UserProjection> getAllUsers() {
// Более эффективные запросы
return userRepository.findAllProjectedBy();
}
}
3. Улучшения Performance
// Lazy initialization для бинов
@Configuration
public class AppConfig {
@Bean
@Lazy // Создаётся только при первом использовании
public ExpensiveService expensiveService() {
return new ExpensiveService();
}
}
4. Docker Compose Support
# compose.yml теперь встроена поддержка
services:
postgres:
image: postgres:16
environment:
POSTGRES_DB: myapp
POSTGRES_PASSWORD: password
redis:
image: redis:7
// Spring автоматически подключится
@Service
public class DataService {
@Autowired
private JdbcTemplate jdbcTemplate; // Подключится к Postgres
@Autowired
private RedisTemplate redisTemplate; // Подключится к Redis
}
Spring Boot 2.7 vs 3.4
Главное отличие: Java версия
// Spring Boot 2.7
// Java 8, 11, 17 поддерживает
// Старые паттерны работают
// Spring Boot 3.x
// Требует Java 17+
// Используется новый синтаксис Java
// Например, Record classes (Java 16+)
public record UserDTO(
String id,
String name,
String email
) {}
Migration: 2.7 → 3.4
<!-- Было (2.7): -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.18</version>
</parent>
<properties>
<java.version>11</java.version>
</properties>
<!-- Стало (3.4): -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.0</version>
</parent>
<properties>
<java.version>17</java.version>
</properties>
Зависимости изменились
<!-- Spring Boot 2.7 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Включает старые javax.* пакеты -->
<!-- Spring Boot 3.4 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Использует новые jakarta.* пакеты -->
// Spring Boot 2.7:
import javax.servlet.http.HttpServletRequest;
import javax.persistence.Entity;
// Spring Boot 3.4:
import jakarta.servlet.http.HttpServletRequest;
import jakarta.persistence.Entity;
Какую версию выбрать для нового проекта?
✓ Выбрать Spring Boot 3.4 если:
- Новый проект
- Нужны новые фичи Spring
- Команда готова к Java 17+
- Нужна длительная поддержка
- Хотите Native Image
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.0</version>
</parent>
✓ Остаться на Spring Boot 2.7 если:
- Есть зависимость от Java 8-11
- Легаси код, который сложно мигрировать
- Нет критичных требований
- Поддержка важнее новизны
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.18</version>
</parent>
Roadmap Spring Boot
2025:
├─ Spring Boot 3.5 (Q2 2025)
│ └─ Улучшения GraalVM
│ └─ Новые функции Spring 6.2
├─ Spring Boot 3.4 LTS (до 2026)
└─ Spring Boot 2.7 (поддержка до 2027)
2026:
├─ Spring Boot 3.6
├─ Spring Boot 3.5 LTS
└─ Конец поддержки Spring Boot 3.3
2027:
├─ Spring Boot 4.0 (планируется)
└─ Конец поддержки Spring Boot 2.7
Как проверить версию вашего проекта
# Maven
mvn --version
# Или в pom.xml
cat pom.xml | grep -A1 "<version>"
# Gradle
./gradlew --version
cat build.gradle | grep 'id.*spring-boot'
# Runtime
java -jar app.jar --version
Примеры конфигурации
Spring Boot 3.4 + Java 17
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
// Record (Java 16+) вместо DTO класса
public record User(
String id,
String name,
String email
) {}
// Text blocks (Java 13+)
@GetMapping("/info")
public String getInfo() {
return """
Spring Boot 3.4
Java 17+
""".trim();
}
}
Итог
На 2025 год:
- Текущая версия: Spring Boot 3.4.x
- Рекомендуемая: 3.4.x или 3.3.x LTS
- Требование: Java 17+ для Spring Boot 3.x
- Конец поддержки 2.7: 2027 год
Для новых проектов выбирайте Spring Boot 3.4, если нет причин придерживаться 2.7.