Jun 24, 2025
This blog post will explain how I currently write Spring Boot applications. I have been writing Java for over 25 years, and most of that involved Spring and its ecosystem. I will talk about how I architect my app, package structure, naming conventions, etc.
Read More...
May 14, 2025
Testcontainers is a great technology to run Docker containers of dependencies like a database or a messaging middleware like ActiveMq or Kafka. It might not immediately be obvious how to combine JUnit, Testcontainers and Spring Boot when you have multiple containers that your application needs. This blog post aims to provide some guidance on how to combine them.
Read More...
Jan 29, 2025
Last week Tailwind CSS v4.0 was released. This, unfortunately, broke the ttcli tool to generate a Spring Boot with Thymeleaf project when you selected Tailwind CSS.
Read More...
Dec 31, 2024
I really like to use Spring Boot, Thymeleaf and htmx for a productive web application stack. However, most of my day-to-day work involves writing REST API backends (Well, JSON Data APIs really) for Angular or React frontends. During that work, I sometimes can’t help but think “We would not have this issue we are discussing now if we had used server-side rendering instead of a JavaScript Single Page Application.”. This blog explains some of those thoughts in more detail.
Read More...
Nov 19, 2024
A common implementation pattern with Spring MVC is showing a notification message after a redirect has happened. For example, you edit a product in a page and after saving the product you are redirected back to the list of products. At the top, you show a message "Product xyz updated". If the user manually refreshes the page, the message should disappear.
To implement this, you can use redirect attributes, sometimes also called flash attributes.
Read More...
Nov 5, 2024
I recently started using Slidev for creating presentations. It is a tool to create a Powerpoint/Keynote/Google Slides like presentation, but using Markdown instead. In this blog post, I will explain the basics and share some of my favorite tips and tricks.
Read More...
Oct 15, 2024
This blog post will show you how to create your own React components in a Spring Boot with Thymeleaf project. The setup will use Vite to be able to write the React components in TypeScript and have live reload of the components so you can easily edit them and use them in your Thymeleaf templates. In the end, we will also see how we can use an existing React library in our application.
Read More...
Oct 3, 2024
This blog post will show you how to create your own Web Components in a Spring Boot with Thymeleaf project. The setup will use Vite to be able to write the Web Components in TypeScript and have live reload of the components so you can easily edit them and use them in your Thymeleaf templates.
Read More...
Jul 10, 2024
In my previous blog post Transactional Outbox pattern with Spring Boot, I compared Spring Integration with Spring Modulith to implement the microservices outbox pattern. I mentioned that a drawback of Spring Integration is the fact that Java serialization is used so the data in the database is not readable with standard database tooling.
Read More...
Jun 25, 2024
If you are building a microservice architecture, or you just need to send emails from your monolith, you should look into the Transactional Outbox pattern to ensure reliable communication between services. This blog post shows a few ways how you can implement this using Spring Boot.
Read More...