Practical writing on Java, Spring, AI, and the craft of software engineering.

If you're building with Java and Spring (or trying to figure out where AI fits into your development workflow) you're in the right place. I write practical, beginner-friendly deep dives on Spring Boot, Spring AI, and software engineering fundamentals, collected here in chronological order.

Filtering by tag: Spring Boot 4

Spring Boot End of Life: Every 3.x Branch Is Now Unsupported

Spring Boot/

Spring Boot End of Life: Every 3.x Branch Is Now Unsupported

Spring Boot 3.5 reached end of life in June 2026 and every 3.x branch is now unsupported. What that means, and how to plan your Spring Boot 4 upgrade.

Read article 11 min read
Spring Boot
· 14 min read

Spring Boot 4 Modularization: Fix Missing Auto-Configuration

Spring Boot 4 broke your auto-configuration? Learn which modular starters you now need—Flyway, H2, and the test starters behind @AutoConfigureMockMvc.

Spring Boot 4: Everything You Need to Know (4.0 and 4.1)
· 33 min read

Spring Boot 4: Everything You Need to Know (4.0 and 4.1)

Everything new in Spring Boot 4 and 4.1, from null safety and HTTP interfaces to modularization and gRPC, plus the upgrade path from Spring Boot 3.

Native Retry Support in Spring Boot 4: No External Dependencies Required
· 28 min read

Native Retry Support in Spring Boot 4: No External Dependencies Required

Spring Boot 4 includes native retry support with @Retryable, RetryTemplate, and @ConcurrencyLimit. Learn how to add resilience without the spring-retry dependency.

Jackson 3 in Spring Boot 4: JsonMapper, JSON Views, and What's Changed
· 28 min read

Jackson 3 in Spring Boot 4: JsonMapper, JSON Views, and What's Changed

Learn how to use Jackson 3 in Spring Boot 4 with the new JsonMapper, immutable configuration, unchecked exceptions, and JSON Views with the hint() method.

HTTP Interfaces in Spring Boot 4: Say Goodbye to Boilerplate
· 19 min read

HTTP Interfaces in Spring Boot 4: Say Goodbye to Boilerplate

Learn how HTTP interfaces let you define declarative HTTP clients in Spring Boot, and discover how Spring Framework 7 eliminates the configuration boilerplate with @ImportHttpServices.

Java
· 22 min read

Stop NullPointerExceptions Before Production with Spring Boot 4's Null Safety

Discover how Spring Boot 4 and JSpecify annotations catch NullPointerExceptions at compile-time instead of runtime. Learn to implement @NullMarked and @Nullable for bulletproof Java code with practical examples.

Spring Boot 4's Bean Registrar: A Cleaner Way to Register Beans Programmatically
· 12 min read

Spring Boot 4's Bean Registrar: A Cleaner Way to Register Beans Programmatically

Learn how Spring Boot 4's new BeanRegistrar interface simplifies programmatic bean registration in Spring Framework 7. This tutorial demonstrates dynamic bean creation based on environment properties, conditional registration with complex logic, and performance optimization techniques. Discover when to use BeanRegistrar vs @Bean annotations with practical code examples and testing strategies...

First-Class API Versioning in Spring Boot 4
· 25 min read

First-Class API Versioning in Spring Boot 4

Learn how to implement API versioning strategies in Spring Boot 4 applications, including best practices for managing backwards compatibility and evolution of your REST APIs.