- Java
Hexagonal Architecture with Java and Spring
The term “Hexagonal Architecture” has been around for a long time. Long enough that the primary source on this topic has been offline for a while and has only recently been rescued from the archives.

- Java
Immutables in Java - Are Setters Allowed?
In short, no. Feel free to jump right ahead to the section on bad practices. If you want to read a bit more on the why and how of immutables, have a look at the rest of this article.

- Spring Boot
Mocking with (and without) Spring Boot
Mockito is a very popular library to support testing. It allows us to replace real objects with “mocks”, i.e. with objects that are not the real thing and whose behavior we can control within our test.

- Spring Boot
Bean Validation Anti-Patterns
Bean Validation is the de-facto standard for implementing validation logic in the Java ecosystem and it’s a great tool to have around.

- Java
Pollution-Free Dependency Management with Gradle
Remember the days when we had to manually download every single JAR file that our project needed to run? And not only the JAR files we directly depended upon, mind you, but even those JAR files that our dependencies and our dependencies’ dependencies needed to work!

- Java
Maven Scopes and Gradle Configurations Explained
One of the key features of a build tool for Java is dependency management. We declare that we want to use a certain third-party library in our own project and the build tool takes care of downloading it and adding it to the classpath at the right times in the build lifecycle.
