SpringBoot 2.2 выйдет 16 числа этого месяца, какие изменения станут известны первыми

Spring Boot
SpringBoot 2.2 выйдет 16 числа этого месяца, какие изменения станут известны первыми

本月16日SpringBoot2.2发布了,有哪些新变化呢?我来告诉你

В этом месяце (16 октября 2019 г.) был официально выпущен Spring Boot 2.2!В этой статье я познакомлю вас с новыми важными изменениями, которые привносит в вас версия 2.2. Автор пишет с душойНадеюсь на ретвит и подписку после прочтения, ваша поддержка - моя неиссякаемая творческая мотивация!

1. Конфигурация глобальной ленивой инициализации Spring bean

Новая функция, представленная в Spring Boot 2.2,Глобальная ленивая инициализация bean-компонентаподдержка (по умолчанию эта функция отключена). Итак, что произойдет, если включена глобальная ленивая инициализация bean-компонентов?

  • Все весенние бобыи их зависимости создаются только тогда, когда они используются.

Чтобы сократить процесс инициализации и время запуска вашего приложения, теперь вы можете включить глобальную ленивую инициализацию компонентов Spring, используя следующую конфигурацию свойств:

spring.main.lazy.initialization=true

Но недостаток глобальной ленивой инициализации очевиден, при любой ленивой инициализации первая обработка HTTP-запроса может занять больше времени. Последующие запросы не затрагиваются. Поэтому его следует использовать с осторожностью. Если вы не хотите глобально использовать bean-компоненты Spring с отложенной инициализацией, вы можете рассмотреть возможность настройки отложенной инициализации для конкретного bean-компонента с помощью аннотации @Lazy.

2. JMX отключен по умолчанию

Начиная с Spring Boot 2.2, JMX по умолчанию отключен. Это помогает сократить время запуска приложения, не тратя много ресурсов во время работы. Если вы полагаетесь на JMX, вы можете включить его снова:

spring.jmx.enabled=true

3. Класс, аннотированный @ConfigurationProperties, инициализируется как bean-компонент.

Spring Boot создаст bean-компонент для каждого класса конфигурации @ConfigurationProperties, обнаруженного при сканировании пути к классам. В процессе разработки предыдущей версии, если мы хотим, чтобы класс конфигурации был инициализирован как bean-компонент, нам нужно использовать аннотацию @Component в классе конфигурации, чтобы сделать его bean-компонентом. Сейчас нет необходимости, просто аннотация @ConfigurationProperties.

Примечание. Если используются обе аннотации, аннотированный класс может создать два bean-компонента, поэтому удалите аннотацию @Component. Не используйте оба вместе.

В-четвертых, поддержка Java 13.

本月16日SpringBoot2.2发布了,有哪些新变化呢?我来告诉你

Java 13 был официально выпущен 17 сентября 2019 года.

Spring Framework 5.2 и Spring Boot 2.2 также поддерживают Java13. LTS Java версии 8 и 11 останутся совместимыми с Spring Boot 2.2.

Пять, изменение конфигурации (ключа)

Spring Boot 2.2 представляет множество новых конфигураций. Есть также некоторые устаревшие и удаленные конфигурации. Более важные изменения:

  • Свойство logging.file было переименовано в logging.file.name.
  • Свойство logging.path было переименовано в logging.file.path.

本月16日SpringBoot2.2发布了,有哪些新变化呢?我来告诉你

6. Обновление зависимостей

Spring Boot 2.2 поставляется с рядом обновлений зависимостей.

Обновления зависимостей, связанные с Spring:

  • Spring Framework 5.2.0
  • Spring AMQP 2.2.0
  • Spring Batch 4.2.0
  • Spring Data Moore RELEASE
  • Spring HATEOAS 1.0.0
  • Spring Integration 5.2.0
  • Spring Kafka 2.3.0
  • Spring Security 5.2.0
  • Spring Session Corn

Другие наиболее важные обновления зависимостей:

  • Elasticsearch 6.8.3(see breaking changes: in6.5,6.6and6.7)
  • Flyway 6.0.6
  • HSQLDB 2.5.0
  • Jackson 2.10.0
  • Jersey 2.29.1
  • Kafka 2.3.0
  • Kotlin 1.3.50
  • Lombok 1.18.10
  • Micrometer 1.3
  • Netty 4.1.42
  • Reactor Dysprosium
  • Solr 8.2.0
  • Tomcat 9.0.27

Обновление тестовой зависимости:

  • AssertJ 3.13.2(breaking changes)
  • Hamcrest 2.1
  • Mockito 3.1.0
  • Junit 5.5.2 (старинный движок JUnit 5 по-прежнему поддерживает существующие тестовые классы на основе JUnit 4, поэтому здесь нет серьезных изменений)

Ждем вашего внимания