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: Java

JEP 500: Prepare to Make Final Mean Final in JDK 26
Latest

JEP 500: Prepare to Make Final Mean Final in JDK 26

· 11 min read

JDK 26 introduces JEP 500, which warns developers when final fields are mutated through reflection. Here's what this means for your Java code and how to prepare for the future.

Java
Building a Spring Initializr Terminal UI with Java
· 10 min read

Building a Spring Initializr Terminal UI with Java

How I built a terminal user interface for the Spring Initializr using Tambu UI, a new Java TUI framework, and GraalVM native images to streamline my development workflow.

I Tried OpenAI's New Codex Agent. Here are my First Impressions (It's Really Good)
· 10 min read

I Tried OpenAI's New Codex Agent. Here are my First Impressions (It's Really Good)

OpenAI released Codex, a new GUI for their coding agent. I put it to the test by building a vending machine CLI application in Java 25 with Maven, JUnit 6, and JSpecify null safety annotations.

Building a Spring Boot 4 REST API the Fast Way
· 19 min read

Building a Spring Boot 4 REST API the Fast Way

Learn how to build a REST API with Spring Boot 4 in minutes. This tutorial shows you how to create CRUD endpoints using Java records and the @RestController annotation.

Spring Boot
· 14 min read

Spring Boot 4 Modularization: Fix Auto-Configuration Issues After Upgrading

Upgraded to Spring Boot 4 and features stopped working? Learn how the new modular auto-configuration architecture affects your migration and how to fix common issues like the H2 console not appearing.

Spring JMS Client: A Complete Guide to JmsClient in Spring Boot 4
· 17 min read

Spring JMS Client: A Complete Guide to JmsClient in Spring Boot 4

Master the Spring JMS Client with this complete Spring Boot 4 JmsClient tutorial. Learn when to choose JMS over Kafka, configure message conversion, and send messages using Spring's fluent API.

What's New in Spring Framework 7 and Spring Boot 4
· 29 min read

What's New in Spring Framework 7 and Spring Boot 4

A comprehensive look at the new features in Spring Framework 7 and Spring Boot 4, including code examples and resources to help you get started

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.

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.

My CYC 2025 Demo: Why Building MCP Servers in Java Just Got Ridiculously Simple
· 21 min read

My CYC 2025 Demo: Why Building MCP Servers in Java Just Got Ridiculously Simple

Learn how Spring AI 1.1.0-M2 makes building MCP servers in Java incredibly simple with just annotations. No callbacks, no complex setup. Includes complete code from my Commit Your Code 2025 conference demo, showing how to expose your Java application's data to Claude and other AI assistants.