👋Hey there,I'm Dimitri

I like trying out new frameworks and writing about them. Below you can find the latest articles I wrote.


Working with Spring Data Solr repositories

July 3rd, 2018 | 7 min read | Solr, Spring boot, Spring Data

Spring Data is the go-to framework when trying to get access to a database within a Spring application. Next to relational databases it also provides support for a wide variety of noSQL databases, including document-based databases like Apache Solr. In this tutorial I’ll explore the various possibilities of using Spring Data Solr.

Running a Spring batch at a schedule

June 19th, 2018 | 4 min read | spring batch, Spring boot

Last time, I wrote a Spring batch application to index local markdown files into Apache Solr. While the default configuration of Spring batch is great, I don’t want to re-run the application to re-index all documents. In this tutorial I’ll show you how you can run a batch job at a certain schedule.

Validating the input of your REST API with Spring

June 8th, 2018 | 9 min read | Spring, Spring boot, validators

When handling input of a user, validation is a common task. In fact, it’s so common, that there’s even a specification for it called JSR 303 bean validation and JSR-380 which contains version 2 of the same specification. With Spring, we can utilize this specification to the fullest extent, and make validation an easier task.

Indexing documents with Spring batch

June 5th, 2018 | 9 min read | Solr, spring batch, Spring boot

Batch processing of information is a common thing to do when developing applications. Spring has its own framework to handle batch processing, called Spring batch. In this tutorial, I’ll use Spring batch to index markdown documents on my local disk onto Solr to make them easier to search for.

Writing GraphQL mutations with Spring boot

May 8th, 2018 | 9 min read | GraphQL, Java, Spring boot

A few weeks ago, we created a beautiful API using GraphQL. We only had one problem… the application was completely read-only and no updates were allowed. This time, we’re about to change this, and implement our own mutations with GraphQL.

Working with Spring boot and GraphQL

April 10th, 2018 | 11 min read | GraphQL, Spring boot

When creating applications, REST is an often used technology to transfer data through APIs. While REST is commonly adopted, there are some issues with it. In this tutorial, I’ll show you how GraphQL compares to REST and how to use GraphQL with Spring boot.

Writing your own Spring boot starter

February 27th, 2018 | 6 min read | Spring boot

If you worked with Spring boot before, you know it, there are various starters out there. These starters automatically configure all kind of things so that you no longer have to. This allows you to get started more quickly, and not to be bothered about configuration that is usually a copy-paste from something else. The […]

Monitoring Spring boot applications with Prometheus and Grafana

February 13th, 2018 | 7 min read | grafana, monitoring, prometheus, Spring boot

This article is outdated since the release of Spring boot 2.0. If you’re interested in a more up-to-date setup, make sure to read my new tutorial about monitoring Spring boot applications with Micrometer, Prometheus and Grafana. Monitoring is an essential aspect to the maintainability of applications, it’s no surprise that there are many platforms out there that […]

Using the Netflix stack with Spring boot: Zuul

January 16th, 2018 | 7 min read | Eureka, Gateway, Netflix, Spring boot, Spring cloud, Zuul

You might have heard of the term cross-cutting concerns in the past. If not, cross-cutting concerns are concerns that apply to all layers of the application. Examples of these concerns are logging, monitoring, security, … . If you think about it, some cross-cutting concerns also apply to microservices. Perhaps you want to monitor how long […]

Securing Spring boot applications with JWT

January 3rd, 2018 | 16 min read | jwt, Microservices, Spring, Spring boot, Spring security

As soon as you write your first web application with Spring, you probably want to secure it. Spring has a project called Spring Security that does most of the generic stuff for you. Just plug in a service that provides the user details (from a database, LDAP, …) and configure the endpoints and you’re ready […]