Nulls are dead
summary
Migrates a Spring Boot demo app to JSpecify annotations using OpenRewrite, adds a Nullability Maven plugin that wires NullAway through ErrorProne to make nullness errors break the build, and uses IntelliJ inspections to find additional issues. Shows adding package-info with NullMarked, fixing false positives via asserts, @Contract, or careful suppressions, annotating generics with type-use @Nullable, and verifying Kotlin consumers. Migration uncovers real bugs, takes months for a large codebase, and ends with a green build.
AI-written summary · about
chapters (10)
- 0:00Intro
- 1:09What is JSpecify?
- 3:21Adding JSpecify to your application
- 8:23Add NullAway plugin to check for nullability in the build
- 15:25Adding NullMarked to your code
- 18:38Fixing false positives
- 33:45Using IntelliJ IDEA to find nullability problems
- 38:47Using JSpecify with Kotlin
- 45:13Adding null checks if you don’t have any
- 51:36Summary
related talks
48mNull-safe applications with Spring Boot 4
41mNull Safety in Java with JSpecify and NullAway
36mJSpecify: Getting Rid of the Billion-Dollar Mistake in Java for Good This Time
01h 00mNull Safety in Spring Applications With JSpecify and NullAway
44mThe long good-bye to NPE
36mRetrofitting Null-Safety into Java
52mPreventing null pointer exceptions at compile time
45mHow we buid and mitigated our Spring Boot applications to Kotlin
