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.

Easily Implement UUIDs as Primary Keys in Spring Boot 3
In this tutorial you will learn how to use one of the new features in Jakarta EE 10 in a Spring Boot 3 application.

Happy New Year 2023
Happy New Year! I want to take a few minutes and talk about a few of my priorities as we head into the new year.

2022 Reflections
In this article I am going to spend some time reflecting because I believe it's a good reminder of the good and the bad as I began to set some goals for next year.

Spring Boot Configuration proxy bean methods

Spring Response Entity - How to customize the response in Spring Boot
In this tutorial, you will learn what the ResponseEntity class is and how it can be used to customize the response in your Spring Boot application.

AWS Lambda SnapStart for Spring Developers
AWS Lambda SnapStart is a new performance optimization developed by AWS that can significantly improve the startup time for your applications.

What's new in Spring Security 6
In this article we will discuss the new features of Spring Security 6 and create a new Spring Boot 3 project together.

Building AWS Lambda Functions with Java: An Introduction to the AWS Lambda Core Java Library
In this tutorial you will learn how to build AWS Lambda functions with Java using the AWS Lambda Core Java Library.

AWS Lambda Java: How to create your first AWS Lambda Function in Java
In this tutorial, I'll show you how to create a simple AWS Lambda function using Java.
Spring Boot REST API Domain Class Converter
In this tutorial, you will learn about a class called the Domain Class Converter in Spring Data. This class will allow you to take arbitrary input like an id from a path variable in a REST API and automatically create a domain object by using Spring Data's CrudRepository.