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

Embabel 1.0 Is Here: AI Agent Framework for Java Goes GA

java/

Embabel 1.0 Is Here: AI Agent Framework for Java Goes GA

Embabel 1.0 is GA. What Rod Johnson's AI agent framework for the JVM means for Java developers, what changed on the road to 1.0, and how to get started.

Read article 12 min read
Self-Correcting Structured Output in Spring AI 2.0
· 16 min read

Self-Correcting Structured Output in Spring AI 2.0

Learn how Spring AI 2.0 validates LLM JSON against your schema and automatically retries failures with self-correcting structured output. A beginner guide.

Can You Use Java for AI? Why Java Is Better Positioned Than You Think
· 14 min read

Can You Use Java for AI? Why Java Is Better Positioned Than You Think

Can you use Java for AI? Yes. For building real AI applications it might be the better choice. Why the JVM, Spring AI, and your existing team are enough.

Spring Boot End of Life: Every 3.x Branch Is Now Unsupported
· 11 min read

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.

How to Kill a Process Running on a Port (Windows, macOS & Linux)
· 7 min read

How to Kill a Process Running on a Port (Windows, macOS & Linux)

Port 8080 already in use? Learn how to find and kill the process running on a port on Windows, macOS, and Linux—with copy-paste commands for each.

Building Custom Spring AI Advisors for Tool Logging and Token Tracking
· 24 min read

Building Custom Spring AI Advisors for Tool Logging and Token Tracking

Learn to build custom Spring AI advisors with the BaseAdvisor interface to log available tools, track tool invocations, and count token usage on every LLM call.

SSRF Protection in Spring Boot 4.1 with InetAddressFilter
· 13 min read

SSRF Protection in Spring Boot 4.1 with InetAddressFilter

Learn how Spring Boot 4.1's new InetAddressFilter protects your applications against Server-Side Request Forgery (SSRF) attacks with a single bean definition.

Introduction to Spring Modulith: Building Modular Monoliths with Spring Boot
· 22 min read

Introduction to Spring Modulith: Building Modular Monoliths with Spring Boot

Learn how Spring Modulith helps you build a modular monolith in Spring Boot with enforced module boundaries, application events, and verified architecture.

Embabel MCP Servers and Tools for Agentic Flows on the JVM
· 16 min read

Embabel MCP Servers and Tools for Agentic Flows on the JVM

Add tools and MCP servers to your Embabel agents in Java. Build a blog writing agent that researches topics, calculates reading time, and generates front matter.

Embabel First Look: Building Agentic Flows on the JVM
· 21 min read

Embabel First Look: Building Agentic Flows on the JVM

A first look at Embabel, Rod Johnson's framework for building agentic AI flows on the JVM. Build a blog writing agent using goal-oriented action planning (GOAP).