Поддержка Jackson 3 в Spring Заметка
Spring на русском

Поддержка 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.