Перейти к содержимому

Миграция с Spring Boot 3 на 4

Dan Vega

0:00 / 0:00

Миграция с Spring Boot 3 на 4

4 098 просмотров · 23 часа назад
Dan Vega
93,6 тыс. подписчиков
4 098 просмотров · 23 часа назад
Поддержка открытого исходного кода для Spring Boot 3 завершилась 30 июня 2026 года. Если вы всё ещё используете версию 3, это обновление скоро будет для вас. Так что давайте сделаем это по-настоящему. Без слайдов. Мы повысим версию и исправим все ошибки. Я беру небольшой API для конференций на Spring Boot 3.5.16 и Java 17 и обновляю его до Spring Boot 4.1.1 и Java 25 прямо на камеру. Компилятор обнаруживает некоторые ошибки. Другие скрываются за вводящей в заблуждение ошибкой, одним неудачным тестом или вообще без предупреждения. Мы исправляем каждую из них и обсуждаем причины их возникновения. Затем я покажу, как Spring Application Advisor автоматизирует это обновление для множества приложений. Почему модульная автоконфигурация в Spring Boot 4 приводит к тому, что Flyway молча перестаёт работать, а консоль H2 возвращает ошибку 404, и какие стартеры возвращают их обратно Как перейти с Jackson 2 на Jackson 3: импорт tools.jackson, JsonMapperBuilderCustomizer, неизменяемый построитель JsonMapper и непроверяемые исключения Как исправить неработающие тесты с помощью spring-boot-starter-webmvc-test, нового пакета @WebMvcTest и @MockitoBean Как Jackson 3 изменяет вывод даты и обработку null для примитивов, и как сохранить старый JSON-контракт Как заменить устаревшие аннотации в стиле JSR-305 на JSpecify @NullMarked и @Nullable Если это помогло, поставьте лайк, подпишитесь на канал и расскажите в комментариях, какая ошибка вас подвела. Удачного кодирования! 0:00 - Вступление: Поддержка Spring Boot 3 прекращена 1:15 - Обзор демонстрационного приложения Spring Boot 3 3:30 - Запуск приложения и проверка дат поддержки 4:30 - Почему H2 и Flyway просто работают в Boot 3 5:45 - Обновление до Spring Boot 4.1.1 и Java 25 7:00 - Перерыв 1: Jackson 2 до Jackson 3 9:30 - Перерыв 2: Тестовые стартеры и @MockitoBean 11:30 - Перерыв 3: Flyway никогда не запускается 13:30 - Перерыв 4: Даты становятся строками ISO 15:30 - Перерыв 5: Зеленая сборка, консоль H2 исчезла 17:00 - Перерыв 6: Безопасность при нулевых значениях с помощью JSpecify 19:00 - Перерыв 7: Нулевые места теперь возвращают 400 21:00 - Масштабное обновление: OpenRewrite и Application Advisor 22:30 - Демонстрация Application Advisor 25:00 - Подведение итогов 🔗Ресурсы и ссылки, упомянутые в этом видео: Репозиторий GitHub: Миграция Spring Boot с 3 на 4: https://github.com/danvega/spring-boo... График поддержки Spring Boot: https://spring.io/projects/spring-boot Application Advisor: https://enterprise.spring.io/spring-a... Spring Initializr: https://start.spring.io JSpecify: https://jspecify.dev 👋🏻Свяжитесь со мной: Веб-сайт: https://www.danvega.dev Twitter:   / therealdanvega   Github: https://github.com/danvega LinkedIn:   / danvega   Рассылка новостей: https://www.danvega.dev/newsletter ПОДПИСЫВАЙТЕСЬ НА МОЙ КАНАЛ:    / @danvega   ❤️