⛔ Останавливайте исключения NullPointerException перед выпуском в Spring Boot 4 с помощью Null Sa...

Тони Хоар назвал это своей ошибкой на миллиард долларов — допущение нулевых ссылок в языках программирования. Теперь Spring Boot 4 готов это исправить! В этом важном руководстве я покажу вам, как использовать аннотации JSpecify для явного указания нулевых ссылок в вашем Java-коде и перехвата исключений NullPointerException во время компиляции, а не во время выполнения. Мы подробно рассмотрим мощные функции безопасности нулевых ссылок Spring Framework 7 и Spring Boot 4, которые меняют подход разработчиков Java к написанию надёжного и готового к использованию кода. На практических примерах приложения для кофейни вы увидите, как именно реализовать эти революционные аннотации в своих проектах. 🎯 Что вы узнаете: ✅ Как использовать @NullMarked для установки значений по умолчанию, отличных от NULL, на уровне пакета ✅ Реализация аннотаций @Nullable для методов, полей и параметров, которые могут возвращать NULL ✅ Работа с элементами, допускающими NULL, в коллекциях и массивах с сохранением типобезопасности ✅ Реальные шаблоны обработки значений NULL в сервисах и контроллерах Spring ✅ Почему безопасность NULL обеспечивает такой же уровень уверенности, как и написание комплексных тестов 📋 Основные темы: 00:00 — Ошибка на миллиард долларов и почему неявное указание NULL проблематично 02:17 — Настройка проекта Spring Boot 4.0 RC1 с зависимостями 04:35 — Создание сервиса User с потенциальными возвратами NULL 07:42 — Демонстрация классического сценария NullPointerException 09:06 — Введение в 4 аннотации JSpecify (@NullMarked, @Nullable, @NonNull, @NullUnmarked) 10:15 — Реализация безопасности null на уровне пакета с помощью package-info.java 13:28 — Добавление NullAway для проверки на null во время компиляции 16:42 — Работа с полями, допускающими значение NULL, в классе Coffee и записях 18:35 — Обработка элементов, допускающих значение NULL, в коллекциях (пример Review Service) 20:47 — Массивы с элементами, допускающими значение NULL (реализация Menu Service) 22:15 — Почему это важно: Формирование уверенности, как и при работе с тестами 🔗 Ресурсы: Исходный код:
Документация JSpecify:
Справочник по безопасности NULL Spring Framework:
NullAway GitHub:
Презентации Себастьяна Делёза по JSpecify:    • Null Safety in Spring Applications With JS...   💡 Почему это важно: Это не просто очередная функция Spring — это фундаментальный сдвиг в том, как мы пишем код Java. Вся экосистема Spring была переработана для поддержки этих аннотаций, что представляет собой значительные инвестиции в качество кода. Как говорит Себастьян Делёз из команды Spring, это значительно повысило уверенность в кодовой базе. Больше не допускайте NullPointerException в продакшен! Готовы писать пуленепробиваемый код Java? Смотрите сейчас и измените свой подход к обеспечению безопасности null в своих приложениях Spring. Ваше будущее (и ваша продакшн-среда) будет вам благодарно! 👍 Если это помогло вам писать более безопасный код, нажмите кнопку «Мне нравится» и подпишитесь на другие материалы о Spring Boot 4! 👋🏻Свяжитесь со мной: Сайт:
Twitter:   / therealdanvega   Github:
LinkedIn:   / danvega   Рассылка:
ПОДПИШИТЕСЬ НА МОЙ КАНАЛ:
❤️

Смотрите также