
Tom Hombergs
As a professional software engineer, consultant, architect, general problem solver, I've been practicing the software craft for more than fifteen years and I'm still learning something new every day. I love sharing the things I learned, so you (and future me) can get a head start. That's why I founded reflectoring.io.
- Java
Assumptions and Conditional Test Execution with JUnit 4 and 5
Sometimes, a test should only be run under certain conditions. One such case are integration tests which depend on a certain external system.

- Java
Robust Java Object Mapping With Minimal Testing Overhead Using reMap
Object mapping is a necessary and often unloved evil in software development projects. To communicate between layers of your application, you have to create and test mappers between a multitude of types, which can be a very cumbersome task, depending on the mapper library that is used.

- Spring Boot
Event Messaging for Microservices with Spring Boot and RabbitMQ
In a microservice environment or any other distributed system you may come upon the requirement to exchange events between services. This article shows how to implement a messaging solution with RabbitMQ.

- Java
A Guide to Formatting Code Snippets in Javadoc
Sometimes you want to add code snippets to our Javadoc comments, especially when developing an API of some kind. But how do you mark the code snippet so that it will be rendered correctly in the final Javadoc HTML, especially when special characters like '<', '>' and '@' are involved?

- Spring Boot
Consumer-Driven Contracts with Pact, Feign and Spring Data REST
When thinking about integration testing in a distributed system, you quickly come across the concept of consumer-driven contracts. This blog post gives a short introduction into this concept and a concrete implementation example using the technologies Pact, Spring Boot, Feign and Spring Data REST.

- Spring Boot
Documenting a Spring Data REST API with Springfox and Swagger
With Spring Data REST you can rapidly create a REST API that exposes your Spring Data repositories and thus provides CRUD support and more.
