Что нового в Spring 6 и Spring Boot 3?

Что нового в Spring 6 и Spring Boot 3 Изучение

Spring и Spring Boot — две самые популярные платформы Java, используемые разработчиками по всему миру. Команда Spring постоянно работает над улучшением и расширением фреймворков с каждым новым основным выпуском. Ожидается, что Spring 6 и Spring Boot 3 принесут значительные новые функции и изменения, которые будут способствовать дальнейшему развитию этих технологий. В этой статье мы отправляемся в путешествие, чтобы раскрыть захватывающие инновации, которые привносят Spring 6 и Spring Boot 3.

Что нового в Spring 6

Базовый уровень Java 17+:

  • Поддержка функций языка Java 17, таких как выражения переключения запечатанных классов и т. д. Код Spring и API будут обновлены для использования новых возможностей Java 17, где это применимо.
  • Поддержка дополнительных операторов реактивного потока и функций, представленных в JDK 17, таких как комбинаторы издателя реактивного потока. Spring WebFlux и реактивные компоненты могут использовать их.
  • Spring 6 совместим во время выполнения с API Jakarta EE 9, а также с API Jakarta EE 10. Это означает, что вы можете использовать Spring 6 для разработки приложений, которые могут работать в средах выполнения, совместимых с Jakarta EE 9 или Jakarta EE 10.
  • Spring 6 совместим с новейшими веб-серверами, такими как Tomcat 10.1, Jetty 11 и Undertow 2.3. Это означает, что вы можете использовать Spring 6 для разработки приложений, которые могут работать на этих веб-серверах.

Основной контейнер:

  • В Spring 6 представлена ​​поддержка компиляции Ahead-Of-Time (AOT). Это может значительно повысить производительность ваших приложений за счет их компиляции в собственный код.
  • PathMatchingResourcePatternResolver использует NIO и API-интерфейсы пути к модулю для сканирования, обеспечивая поддержку сканирования пути к классам в собственном образе GraalVM и в пути к модулю Java соответственно.
  • DefaultFormattingConversionService поддерживает анализ типа java.time по умолчанию на основе ISO.

Доступ к данным и транзакции:

  • Spring 6 обеспечивает поддержку JPA для Hibernate ORM 6.1. Сюда входит поддержка новых функций Hibernate ORM 6.1, таких как возможность использовать несколько диалектов базы данных в одном приложении.
  • Spring 6 обновляется до R2DBC 1.0. Сюда входит поддержка новых функций R2DBC 1.0, таких как возможность определять границы транзакций для соединений R2DBC.
  • Spring 6 удаляет поддержку JCA CCI. Это связано с тем, что JCA CCI — это устаревшая технология, которая больше не поддерживается активно.
  • Spring 6 согласовывает преобразование исключений доступа к данным между JDBC, R2DBC, JPA и Hibernate. Это означает, что вы увидите одни и те же типы исключений независимо от используемой вами технологии доступа к данным.
Читайте также:  Как Muffin Live Builder поможет вам быстрее создавать лучшие сайты

Весенние сообщения:

  • Spring 6 Messaging поддерживает сведения о проблеме RFC 7807, который является стандартом для возврата ответов об ошибках, включающих информацию об ошибке, такую ​​как код ошибки, сообщение и т. д.
  • Spring 6 Messaging также включает новые функции Spring Integration, такие как поддержка библиотеки Reactor Netty и возможность асинхронной отправки и получения сообщений.

Весенний MVC:

  • Spring MVC 6.0 теперь имеет встроенную поддержку проверки методов для параметров метода контроллера с аннотациями @Constraint. Это означает, что вам больше не нужен @Validated на уровне класса контроллера, чтобы включить проверку метода через прокси-сервер AOP.
  • В Spring MVC 6.0 улучшена поддержка реактивных веб-приложений. Сюда входит поддержка библиотеки Reactor Netty и возможность асинхронной обработки запросов.

Весенний WebFlux:

  • Spring WebFlux обновит свою реализацию Reactive Streams до версии 2.1 для улучшения совместимости.
  • Ожидается, что Spring WebFlux добавит первоначальную поддержку нового протокола HTTP/3 для реактивной связи и связи с малой задержкой.

Тестирование:

  • В Spring 6 Testing улучшена поддержка реактивного тестирования. Сюда входит поддержка библиотеки Reactor Netty и возможность писать асинхронные и неблокирующие тесты.
  • Spring 6 Testing также включает новые функции Spring Boot Test, такие как поддержка библиотеки Reactor Netty и возможность писать асинхронные и неблокирующие тесты.

Что нового в Spring Boot 3

Базовая версия Java 17 и поддержка Java 19:

  • Одним из наиболее значительных изменений в Spring Boot 3.0 является требование использования Java 17 в качестве базовой версии. Это означает, что Spring Boot 3.0 будет работать только на Java 17 или выше. Java 17 — это последняя версия Java с долгосрочной поддержкой (LTS), включающая ряд новых функций и улучшений.
  • Spring Boot 3.0 также поддерживает Java 19, последнюю версию Java. Однако Java 19 не является версией LTS, поэтому ее не рекомендуется использовать в рабочей среде.

Управление зависимостями:

  • Spring Boot 3.0 использует в качестве основы спецификацию Jakarta EE 9. Это означает, что все зависимости, управляемые Spring Boot, были обновлены для использования пакетов Jakarta EE 9.
  • Если вы обновляете существующее приложение Spring Boot до Spring Boot 3.0, вам потребуется обновить зависимости в файле pom.xml или build.gradle, чтобы использовать пакеты Jakarta EE 9.

Собственные образы с GraalVM:

  • GraalVM Native Image — это технология, которую можно использовать для предварительной компиляции Java-приложений (AOT) в собственный исполняемый файл. Это может значительно улучшить производительность Java-приложений.

Улучшено обнаружение @ConstructorBinding:

  • Spring Boot 3.0 теперь может автоматически обнаруживать аннотации @ConstructorBinding в bean-компонентах. Это может упростить создание bean-компонентов, в которые вводятся зависимости.

Улучшения Log4j2:

  • Spring Boot 3.0 включает ряд улучшений в Log4j2, платформе ведения журналов, используемой Spring Boot. Эти улучшения включают поддержку асинхронного ведения журналов, улучшенную производительность и повышенную безопасность.

Обновления микрометра:

  • Spring Boot 3.0 включает обновления Micrometer, библиотеки метрик, используемой Spring Boot. Сбор метрик Spring Boot Actuator и отчетность будут улучшены. Такие показатели, как использование памяти, сбор мусора и т. д., будут собираться «из коробки».
Оцените статью
bestprogrammer.ru
Добавить комментарий