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

Spring AI 2.0 Tool Calling: Build a Live Claude-Style UI

Spring AI/

Spring AI 2.0 Tool Calling: Build a Live Claude-Style UI

Build a Claude-style 'Calling tool...' UI with Spring AI 2.0's ToolCallingAdvisor. Stream live tool call events over SSE from the ChatClient advisor chain.

Read article 19 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.

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.

Spring AI Tool Search: Stop Wasting Tokens on Tools You Don't Need
· 17 min read

Spring AI Tool Search: Stop Wasting Tokens on Tools You Don't Need

Spring AI 2.0's tool search brings dynamic tool discovery to Spring Boot—load tools on demand instead of into every request to cut token usage and cost.

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.

ChatClient vs ChatModel: Which Spring AI API Should You Actually Use?
· 14 min read

ChatClient vs ChatModel: Which Spring AI API Should You Actually Use?

Spring AI gives you two ways to call an LLM. Learn the difference between ChatClient and ChatModel, when to use each, and see both in action with code examples.

X (Twitter) MCP Servers with Spring AI: Search Posts and Query Docs Programmatically
· 19 min read

X (Twitter) MCP Servers with Spring AI: Search Posts and Query Docs Programmatically

X released MCP servers for its API and docs. Build a Spring Boot MCP client with Spring AI 2.0 to search X posts and query the X API docs programmatically.

Type Safe Property Paths in Spring Boot 4.1
· 18 min read

Type Safe Property Paths in Spring Boot 4.1

Spring Boot 4.1 adds type-safe property paths to Spring Data, replacing stringly typed references in sorting, criteria queries, and composite paths.

The New @RedisListener Annotation in Spring Boot 4.1
· 10 min read

The New @RedisListener Annotation in Spring Boot 4.1

Spring Boot 4.1 adds @RedisListener, one annotation that brings Redis Pub/Sub in line with @KafkaListener and @RabbitListener. No container wiring needed.