RSS Весна
Подписаться
Поддержка Jackson 3 в Spring
Spring Framework внедряет поддержку Jackson 3, последней версии популярной JVM JSON библиотеки, в Spring Boot 4 и связанных проектах. Это значительное обновление следует за выпуском Jackson 3.0.0 GA и основывается на прошлых улучшениях интеграции Jackson. Команды Spring и Jackson тесно сотрудничали во время фазы релиз-кандидата Jackson 3, что привело к ряду доработок. К ним относятся возможность сосуществования Jackson 2 и 3, базовый уровень JDK 17, согласованные настройки по умолчанию для JSON-представлений, а также улучшенная null-безопасность и возможности неблокирующего парсера. Spring Boot 4 обеспечит управление зависимостями для обеих версий Jackson, но будет автоматически настраивать только Jackson 3, делая его версией по умолчанию. Приложениям, находящимся в процессе миграции, рекомендуется перейти на Jackson 3, хотя временное использование Jackson 2 возможно с некоторой ручной настройкой. Ключевые шаги миграции включают обновление имен пакетов с `com.fasterxml.jackson` на `tools.jackson` и адаптацию к новым настройкам по умолчанию в Jackson 3, таким как сортировка свойств по алфавиту и форматы сериализации дат. Введение неизменяемого `JsonMapper` в Jackson 3 заменяет изменяемый `ObjectMapper` из Jackson 2, упрощая настройку с помощью `JsonMapper.Builder`. Устаревший `MappingJackson2HttpMessageConverter` заменен более функциональным `JacksonJsonHttpMessageConverter`, который использует подсказки сериализации напрямую, устраняя необходимость в обертках, таких как `MappingJacksonValue`. Spring Security 7.0 также будет поддерживать Jackson 3, повышая безопасность путем отключения глобальной типизации по умолчанию и введения `PolymorphicTypeValidator`. Spring Data 4.0 привносит полную поддержку Jackson 3 во все свои модули, хотя некоторые, такие как Spring Data REST и Spring HATEOAS, потребуют полной миграции на Jackson 3.