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.

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.
Spring Security CORS: How to Configure CORS in Spring Boot
Configure CORS in Spring Boot with @CrossOrigin, a WebMvcConfigurer, and a CorsConfigurationSource bean so Spring Security stops blocking preflight requests.

How to Secure your REST APIs with Spring Security & JSON Web Tokens (JWTs)
In this tutorial, you will learn how to secure REST APIs with Spring Security and JSON Web Tokens (JWTs).
GraphQL Spring Boot - Up and Running with Spring for GraphQL
In this tutorial you are going to learn how to get up and running with Spring for GraphQL.
Spring Data JPA Pagination: Pageable and PageRequest Tutorial
Learn how to add pagination to a Spring Boot REST API with Spring Data JPA using Pageable, PageRequest, and the PagingAndSortingRepository, with code examples.
Spring Boot @Value Annotation
Learn how to use the Spring Boot @Value annotation to inject configuration properties, set default values, and understand property source order in Java.

Im Joining VMware
I'm so excited to announce that I am joining VMware as a Spring Developer Advocate!

Happy New Year 2022
Happy New Year! I want to take a few minutes and reflect on the year that was 2021 and look ahead to 2022.