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.

Inserting a Groovy Date into a Time Stamp Column
Inserting a Groovy Date into a Timestamp Column
Spring Boot CommandLineRunner Example
Learn how to use the Spring Boot CommandLineRunner interface to run code at application startup, load initial data, and order multiple runners in Java.

Java: What is the difference between equals and ==
Understand the difference between == and .equals() in Java. Learn why == compares references while .equals() compares String values, and how to fix it.

2,000 Subscribers on YouTube!!
2,000 Subscribers on YouTube!!

Using Project Lombok in your Spring Boot Project
Learn how to use Project Lombok in Spring Boot to reduce boilerplate code — the @Data annotation generates getters, setters, toString, equals & hashCode.

Spring Stereotype Annotations
Learn Spring stereotype annotations: @Component, @Service, @Repository, and @Controller, how component scanning registers them as beans, plus an AOP demo.

Spring Boot Convention Based Error Pages
Spring Boot Convention Based Error Pages

Spring Boot Entity Scan
Spring Boot Entity Scan

How I Made $20,000 in my Sleep
In this article I hope to inspire you to take action now!