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.
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.
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.
Building Intelligent Chatbots with Spring AI: Implementing Chat Memory
Learn how to create a context-aware chatbot using Spring AI and OpenAI. This tutorial covers implementing chat memory, handling token usage, and managing context window limitations for more engaging AI conversations.
Building a Streaming Chat Bot with Spring Boot and Spring AI
Learn how to create a responsive and engaging chat bot using Spring Boot and Spring AI, featuring both traditional and streaming response capabilities for an enhanced user experience.
Building Dynamic Forms with Spring Boot and JTE: A Practical Guide
Learn how to create interactive web forms using Spring Boot and Java Template Engine (JTE) in this comprehensive tutorial.
Building a Dynamic Task Manager with Spring Boot, JTE, and HTMX
Learn how to build a dynamic Task manager using Spring Boot, Java Template Engine (JTE), HTMX and Tailwind CSS.
Getting started with Java Template Engine (JTE) layouts in Spring Boot
Learn how to use layouts with Java Template Engine in your next Spring Boot Application
Introducing JTE: The Latest Template Engine in Spring Boot
Explore JTE, the new Java Template Engine now available in Spring Initializer. Learn its benefits, how to get started, and why you might choose it for your next Spring Boot project.

What's new in JDK 23
Explore the exciting new features and improvements coming in Java 23, including primitive types in patterns, Markdown documentation comments, and enhancements to garbage collection and concurrency.