Прежде чем Spring Boot 2.2 не был выпущен вовремя, он задерживался из-за заблокированного выпуска Spring Framework 5.2. На этот раз после успешного выпуска Spring Framework 5.2.0 за первой версией Spring Boot 2.2 последовала Spring Boot 2.2.0. Давайте взглянем на то, что было обновлено в этой версии, достойной нашего внимания.
Обновление версии компонента
Эти компоненты Spring Framework имеют обновленные версии зависимостей:
- Spring AMQP 2.2
- Spring Batch 4.2
- Spring Data Moore
- Spring Framework 5.2
- Spring HATEOAS 1.0
- Spring Integration 5.2
- Spring Kafka 2.3
- Spring Security 5.2
- Spring Session Corn
Сторонние пакеты, задействованные в фреймворке, также имеют обновленные версии зависимостей:
- Elasticsearch 6.7
- Flyway 6.0
- Jackson 2.10
- JUnit 5.5
- Micrometer 1.3
- Reactor Dysprosium
- Solr 8.0
Массивное улучшение производительности
Проблема производительности Spring Boot — это ключевое слово, на которое мы часто жалуемся на платформе контента. На этот раз в Spring Boot 2.2 была произведена существенная оптимизация производительности. Приложения будут запускаться быстрее и использовать меньше памяти.
При этом для ускорения запуска приложения также добавлен глобальный параметр конфигурации отложенной инициализации.spring.main.lazy-initialization
, что позволяет нашему приложению быстрее выполнить действие запуска, но стоит отметить, что отложенный запуск также будет иметь следующие побочные эффекты:
- Когда приложение инициализируется лениво, обработка HTTP-запроса займет больше времени
- Ошибки, которые могли возникнуть во время запуска, откладываются до времени выполнения запуска.
Поддержка Java 13
Поскольку в Spring Framework 5.2 добавлена поддержка Java 13, Spring Boot 2.2, естественно, также добавил эту функцию. При этом Spring Boot 2.2 по-прежнему хорошо поддерживает старые версии Java 11 и Java 8. Поэтому пользователи, которые все еще используют Java 8, могут спокойно выполнить обновление.
Неизменяемые привязки @ConfigurationProperties
Свойства конфигурации теперь поддерживают привязку на основе конструктора, что позволяет@ConfigurationProperties
Аннотированные классы неизменяемы. можно сделать с помощью@ConstructorBinding
Оформление аннотации@ConfigurationProperties
класс или один из его конструкторов, чтобы включить привязку на основе конструктора. Может использоваться для параметров конструктора, предоставляемых привязками свойств конфигурации.@DefaultValue和@DateTimeFormat
Аннотации, такие как.
См. Документацию: https://docs.spring.io/spring-boot/docs/2.2.0.release/reference/html/spring-boot-features.html#boot-features-external-config-constructor -binding.
Поддержка RSocket
Для RSocket добавлена начальная реализация для автоматической настройки:spring-boot-starter-rsocket
. Когда проект зависит отspring-security-rsocket
В то же время стартер также автоматически настроит интегрированную реализацию Spring Security RSocket.
Дополнительные сведения см. в документации: https://docs.spring.io/spring-boot/docs/2.2.0.RELEASE/reference/html//spring-boot-features.html#boot-features-rsocket.
Поддержка пакетов Health Check
Различные реализации индикаторов работоспособности в Spring Boot Actuator теперь можно сгруппировать вместе. При развертывании приложения в Kubernetes типичным требованием является то, что вам могут потребоваться разные наборы метрик работоспособности для определения «живости» и «готовности». На этом этапе мы можем определить различные группы с помощью свойств конфигурации, например: следующее создает пользовательскую группу только с индикатором DataSource:
management.endpoint.health.group.custom.include=db
посетивlocalhost8080/actuator/health/custom
, вы можете получить доступ к пользовательской группе.
Дополнительные сведения см. в документации: https://docs.spring.io/spring-boot/docs/2.2.0.RELEASE/reference/html//production-ready-features.html#health-groups.
другие обновления
Многочисленные другие изменения и улучшения также описаны в примечаниях к выпуску. Читатели могут перейти по ссылкам ниже, чтобы просмотреть больше обновлений:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.2-Release-Notes
использованная литература
Добро пожаловать, чтобы обратить внимание на мой общедоступный номер: Programmer DD, получить эксклюзивные учебные ресурсы и ежедневный толчок галантерейных товаров.
Если вам интересен мой рекомендуемый контент, вы также можете подписаться на мой блог:didispace.com