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

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.

Spring Boot 3.x Features: Complete Guide to Major Updates (2022-2025)
· 52 min read

Spring Boot 3.x Features: Complete Guide to Major Updates (2022-2025)

Explore the transformative features introduced in Spring Boot 3.0 through 3.5, from Java 17 requirements and GraalVM native images to virtual threads and enhanced observability. This comprehensive guide covers each release's major improvements, including Docker Compose integration, Testcontainers support, structured logging, and SSL certificate management. Learn how Spring Boot 3.x...

GraphQL
· 9 min read

Building Dynamic GraphQL APIs with Spring Boot and Query by Example

Learn how to build flexible and maintainable GraphQL APIs using Spring Boot's Query by Example support, reducing boilerplate code while enabling powerful search capabilities.

Spring Boot
· 9 min read

Query By Example in Spring Data JPA: A Clean Approach to Dynamic Queries

Learn how to simplify your Spring Data JPA queries using Query By Example (QBE) and create dynamic, type-safe queries without the boilerplate code.

Spring Boot
· 10 min read

RestClient OAuth2 Support in Spring Security 6.4: A Complete Guide

Learn how to implement OAuth2 authentication in your Spring applications using the new RestClient OAuth2 support in Spring Security 6.4. This guide covers architecture, implementation, and best practices for secure service-to-service communication.

Spring Boot
· 15 min read

Implementing Request/Response Logging with Spring Boot's Rest Client

Learn how to implement clean and efficient request/response logging for Spring Boot's Rest Client, including both inline and interceptor-based approaches.

Spring Boot
· 7 min read

Using Environment Variables in Spring Boot

Learn how to effectively manage configuration and secure sensitive data using environment variables in Spring Boot applications. This comprehensive guide covers best practices, security considerations, and practical examples.

Building a Spring Security Login Form with JTE
· 20 min read

Building a Spring Security Login Form with JTE

Learn how to create a secure login form using Spring Security and JTE (Java Template Engine) with support for both traditional authentication and OAuth2 providers.

Java
· 9 min read

Building Generative AI Applications in Java: From Simple Scripts to Spring Boot

Explore how Java developers can leverage generative AI, from basic curl commands to robust Spring Boot applications. Learn to integrate OpenAI's GPT models, use Java's HTTP client, and harness the power of Spring AI for structured output and simplified AI integration.

Spring Boot
· 9 min read

Calling Multiple LLMs with Spring AI: A Practical Guide

Learn how to integrate and call multiple Large Language Models (LLMs) like OpenAI's GPT-4 and Anthropic's Claude in a single Spring Boot application using Spring AI. This tutorial covers project setup, configuration, and implementation of separate controllers for each LLM.