Ответ
Основным релизом стал Spring Boot 3.2 (ноябрь 2023), а дальнейшие обновления в 2024 году привносят улучшения и исправления. Ключевые нововведения Spring Boot 3.2 и связанных проектов:
- Поддержка Java 21: Полная совместимость, включая виртуальные потоки (Virtual Threads) для масштабирования конкурентных операций.
- Улучшенная нативная компиляция (GraalVM): Сокращение времени сборки нативных образов и улучшение совместимости со сторонними библиотеками.
- Оптимизация тестирования:
@SpringBootTestтеперь эффективнее кэширует контекст приложения между тестами.- Новая аннотация
@RestClientTestдля тестирования REST-клиентов.
- Новые возможности в Spring Framework 6.1:
@HttpExchange— декларативный клиент для HTTP-сервисов (альтернативаRestTemplate/WebClient).- Улучшенная поддержка проблемно-ориентированного API (ProblemDetail).
Пример обновления версии в Maven:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.0</version> <!-- Актуальную версию смотри на start.spring.io -->
</parent> Ответ 18+ 🔞
Слушай, вот что я тебе скажу про эту всю весеннюю движуху. Вышел, блядь, Spring Boot 3.2, ещё в ноябре прошлого года, а в этом, 2024-м, его только полируют, как старый унитаз, — подчищают косяки да добавляют фишечки. В общем, овердохуища нового, но кое-что заслуживает внимания.
Во-первых, Java 21 теперь на полных правах. Это значит, что можно юзать эти самые виртуальные потоки, эти... virtual threads. Штука, внатуре, мощная для всякой асинхронной хуйни, когда нужно тысячу соединений держать, не загружая сервер как свинью.
Во-вторых, нативная компиляция под GraalVM стала менее пиздецовым квестом. Раньше, чтобы собрать нативный образ, нужно было молиться всем богам, а сейчас — время сборки сократили, и с библиотеками стало меньше геморроя. Почти как чудо, ёпта.
Теперь про тесты, потому что все их ненавидят, но делать надо. Аннотация @SpringBootTest стала умнее — она теперь контекст между тестами кэширует так, что не нужно каждый раз поднимать всю вселенную с нуля. И появилась @RestClientTest, чтобы, наконец, не ебаться с моками для REST-клиентов, а тестировать их по-человечески.
А ещё сам Spring Framework 6.1 подвез вкуснятины. Появилась аннотация @HttpExchange — это такая декларативная пизда, чтобы не городить огород с RestTemplate или WebClient. Объявил интерфейс, навешал аннотаций — и клиент готов, волшебство, блядь. И улучшили поддержку ProblemDetail для API, чтобы ошибки отдавать в структурированном виде, а не просто "500 Internal Server Error, иди нахуй".
Вот, собственно, и всё. Чтобы это всё попробовать, в pom.xml нужно версию обновить, вот так:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.0</version> <!-- Актуальную версию смотри на start.spring.io -->
</parent>
Актуальную версию, конечно, глянь на их официальном сайте, а то я тут тебе устаревшую могу написать, и потом будешь сидеть и ебаться с зависимостями.