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 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.


Feb 12, 2021

JUnit 5 test class orderer for Spring Boot

The upcoming JUnit 5.8.0 will support ordering the test classes in an arbitrary way. This blog post will show how to use that to order your Spring Boot tests from unit tests over test slices to the full integration tests, so the quickest tests run first.


Jan 25, 2021

Using StringTrimmerEditor with Thymeleaf

Trimming whitespace is one of the little things that a developer should take care of when coding text inputs in an HTML form. Remembering to do this for each input will get tedious soon, and there is a big chance that you might forget about it sooner or later. Luckily, Spring has the StringTrimmerEditor class that allows to globally configure the trimming once.