Return to site

☠️☕ NULLS ARE NOT DEAD… BUT THEY ARE FINALLY BEING TRACKED

July 11, 2026

🔸 TL;DR

JSpecify is becoming a BIG DEAL for Java null-safety.

With Spring Boot 4 and Spring Framework 7, the Spring portfolio is moving to standard nullability annotations, making APIs clearer for Java AND Kotlin users. ☕🛡️

🔸 Truth?

NullPointerException has been called the “billion dollar mistake.”

And in this IntelliJ IDEA Tech Talk, Moritz Halbritter from the Spring Team shows why JSpecify matters for modern Spring applications.

The idea is simple:

Make nullability EXPLICIT.

Not hidden in Javadoc.

Not guessed by the IDE.

Not discovered at 3 AM in production. 🚨

With JSpecify, you can say:

▪️ this value CAN be null → @Nullable

▪️ this package is null-safe by default → @NullMarked

▪️ everything else is assumed NON-NULL

That changes the way you design APIs.

It also helps tools.

IntelliJ IDEA can warn you earlier.

NullAway can break the build.

Kotlin can understand Java nullability better.

Spring users get clearer APIs with Spring Boot 4 and Spring Framework 7. 🚀

One important point from the talk:

Adding null checks does not “break” your build.

It reveals where your build was already unsafe.

That is the same feeling as adding stricter typing, Maven Enforcer, or better static analysis:

At first, it screams.

Then, you fix things.

Then, your codebase becomes safer. ✅

Moritz also shared a practical migration strategy:

▪️ start from core modules

▪️ add @NullMarked package by package

▪️ mark real nullable cases with @Nullable

▪️ use NullAway in the build

▪️ use IntelliJ inspections too

▪️ avoid @SuppressWarnings unless really needed

▪️ prefer contracts or assertions when they express intent clearly

The best part?

When Spring Boot adopted this, they found real null bugs.

So this is not just “annotation decoration.”

It is code quality work.

It is API design work.

It is production risk reduction. 🧯

Null-safety in Java will never feel exactly like Kotlin.

But with JSpecify, Spring Boot 4, IntelliJ IDEA, and NullAway, Java gets a much clearer story.

And that is good news for backend developers. ☕🔥

#Java #SpringBoot #SpringFramework #JSpecify #IntelliJIDEA #NullAway #Kotlin #CleanCode #SoftwareEngineering #BackendDevelopment #JavaDeveloper #CodeQuality

Go further with Java certification:

Java👇

Spring👇

SpringBook👇

JavaBook👇