~/talk

Null-safe applications with Spring Boot 4

Talkat Spring I/O 2026 · 2026-04-13..04-15· [typescript, java]
slides:none on file

Spring Boot 4 and the Spring portfolio adopt JSpecify annotations to make APIs explicitly nullable or non-null, deprecating org.springframework.lang and shipping package-level @NullMarked default non-null markings; migration uses OpenRewrite recipes or stepwise package-by-package edits. Build-time checking runs with NullAway + Error Prone (Gradle/Maven configs shown) and requires recent JDKs (17.0.19+, 21.0.8+, or 25). An agentic loop with custom AI skills can auto-infer annotations, and a runtime Newness API lets code inspect nullability; Kotlin 2.1 maps JSpecify automatically.

AI-written summary · about

  1. 0:00Null safety in Spring Boot 4
  2. 1:29JSpecify and its role
  3. 3:14Migration from Spring annotations
  4. 4:40Spring Boot 4 null-safe APIs
  5. 7:09Explicit nullability benefits
  6. 9:37Why Optional is not a general-purpose solution
  7. 13:31Making projects null-safe
  8. 14:12JSpecify docs and mental model
  9. 15:37JSpecify dependency setup
  10. 16:43Annotating packages with @NullMarked
  11. 17:45Using @Contract semantics
  12. 19:53Class-level nullability
  13. 21:41Arrays and varargs with JSpecify
  14. 23:49NullAway build-time checks
  15. 27:00NullAway Gradle/Maven setup
  16. 29:08Automating null safety with agents
  17. 31:56Agent skills for JSpecify
  18. 33:42Agentic loop with NullAway
  19. 35:28Runtime nullness with newness API
  20. 36:53Future of null safety
  21. 41:29Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.