About Me

Hi, my name is Wim Deblauwe, a software developer specialized in Java, Spring, and JVM related tooling.

I wrote Taming Thymeleaf, a book to learn more about using Thymeleaf with Spring Boot. I also have a few open-source projects: one that makes it easy to do Spring Boot error handling, another for integration of Cypress with Testcontainers and a few others.

I blog regularly here about Spring Boot, Thymeleaf,Asciidoctor and other programming related subjects.

Stay up to date with the latest content via the RSS feed, follow me on Twitter, or subscribe to the mailing list.

Recent posts

Sep 23, 2021

TodoMVC with Spring Boot and Thymeleaf (Part 2)

In Part 1, we implemented TodoMVC using Spring Boot and Thymeleaf. The application already allows to add todo items and show them. We will continue in this part with completing items and deleting them.


Sep 20, 2021

TodoMVC with Spring Boot and Thymeleaf (Part 1)

The TodoMVC project has implementations of a simple todo list application for many different frontend frameworks. The goal is that a Single Page Application is implemented in a varity of technologies to be able to compare them. I wanted to stretch the concept a bit and create a Spring Boot backend with Thymeleaf server-side rendered HTML page just to see how that could work and how it would affect the user experience.


Sep 15, 2021

Thymeleaf iteration and fragments

Iteration in Thymeleaf templates is done using th:each. But combining it with fragments can yield some surprising results. This blog post shows an overview of what can happen and common pitfalls to watch out for.


Jul 25, 2021

Using Java 16 records with Thymeleaf

Since Java 16, we can use records. This blog post shows how Thymeleaf supports this.


May 23, 2021

Form handling with Thymeleaf

This post explains in detail how you should implement a HTML form with Thymeleaf and Spring Boot.


May 1, 2021

Error Handling Spring Boot Starter release 1.6.0

There is a new version 1.6.0 of the Error Handling Spring Boot Starter. A lot of new things have been added since I lasted blogged about version 1.2.0 of this library, so it is time for a round-up to show the new goodies.


Apr 26, 2021

Equals and hashcode implementation considerations

I always struggled with how to implement equals and hashcode, until I learned about the difference between entities and value objects.


Apr 16, 2021

Using HTML select options with Thymeleaf

This blog post will show the best way to implement a HTML <select/> to allow the user to select between one of several options.


Mar 1, 2021

AttributeConverter vs Embeddable in JPA

There are 2 choices when using Value Objects in JPA entities with Spring Boot: AttributeConverter or Embeddable. This blog post shows the differences between those and some guidelines when to use what.


Feb 18, 2021

Error Handling Spring Boot Starter release 1.2.0

I just did release 1.2.0 of the error-handling-spring-boot-starter library. It allows now to customize how the error response is serialized to JSON.