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

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.


Jan 18, 2021

Using Hugo with Tailwind CSS 2

Tailwind CSS version 2 has recently been released. This blog post shows how to add Tailwind CSS to your Hugo generated blog. Make sure you have Hugo installed to follow along. I am using Hugo 0.79.0. You also need to have npm installed. I am using 6.14.7. Create a new Hugo site: hugo new site my-hugo-site my-hugo-site can be anything you want, it will also be the directory where the files are created.


Jan 11, 2021

String concatenation with Thymeleaf

This post shows the various ways that you can concatenate string values with Thymeleaf.


Jan 8, 2021

Practical Guide to Building an API Back End with Spring Boot made it to the Best New REST API Books

I’m happy to announce that my book, "Practical Guide to Building an API Back End with Spring Boot", made it to BookAuthority’s Best New REST API Books: https://bookauthority.org/books/new-rest-api-books?t=16x1w7&s=award&book=0359044522 BookAuthority collects and ranks the best books in the world, and it is a great honor to get this kind of recognition. Thank you for all your support! The book is available for purchase on Amazon.