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

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.

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.

Lazy JDBC Connections in Spring Boot 4.1: One Property, Massive Performance Win
· 15 min read

Lazy JDBC Connections in Spring Boot 4.1: One Property, Massive Performance Win

Spring Boot 4.1 adds lazy JDBC connection fetching via spring.datasource.connection-fetch. See how it cuts connection hold time from 2 seconds to 15ms.

Spring Boot + Kafka in 10 Minutes: Sending Your First Message
· 18 min read

Spring Boot + Kafka in 10 Minutes: Sending Your First Message

Produce and consume your first Apache Kafka message with Spring Boot. Covers Docker Compose, KafkaTemplate, @KafkaListener, and Embedded Kafka for tests.

Spring Modulith Durable Events: Reliable Event Processing Without a Message Broker
· 21 min read

Spring Modulith Durable Events: Reliable Event Processing Without a Message Broker

Learn how Spring Modulith's event publication registry persists and replays failed events across restarts, giving you a transactional outbox with no message broker.

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.

GraphQL for Java Developers with Spring Boot
· 33 min read

GraphQL for Java Developers with Spring Boot

Build GraphQL APIs in Java with Spring Boot 4 and Spring for GraphQL. A free course covering schema-first design, batch loading, unions, and AOT repositories.