Docker setup for MySQL and phpMyAdmin

In this post, we will take a look at how to set up a MySQL database and phpMyAdmin in a local machine using docker for application development. After completing this tutorial, you will know how to run the MySQL database locally. Background Let’s face it. The hardest part of the development is setting up the…

Injecting collection of objects in Spring

Spring boot can inject/autowire a collection of objects directly as dependencies to other beans and components. Let’s see how to make use of this feature with an example. We so far have seen the constructor dependency injection and setter dependency injection. In these posts, we only saw autowiring of single object parameters. But Spring framework…

Content negotiation with Spring Boot

In this post we will see how to implement content negotiation in a Spring Boot application. Introduction You may have written RESTful API endpoints where the client sends JSON request and the server sends back a JSON response. However, What would you do if the client can only understand XML? Obviously, You need to write extra logic for XML representation of…

Send firebase push notifications From Spring Boot

Let’s learn how to send push notifications to iOS and android mobile devices via firebase cloud messaging(FCM) service using Spring Boot with an example. Mobile notifications play a major role in user engagement. With the firebase’s new SDK for java, sending Firebase push notification from a Spring Boot application got a lot easier. Usually, FCM…

Thymeleaf views from database in Spring Boot

In this post, We will learn how to load thymeleaf views from the database without restarting the spring boot application. Problems with thymeleaf view files You have seen how to load thymeleaf templates for views or HTML emails. The problem with thymeleaf views is that you need to make a new build when you make…

Spring Boot Email using Thymeleaf with Example

Let us see how to send HTML emails using thymeleaf templates in a spring boot application. Things got easier with spring boot and thymeleaf template engine. As you know, Thymeleaf is used as a View in Spring MVC applications. However, do you know you can use the same template Engine for generating rich HTML emails?…

FreeMarker vs Groovy vs Mustache vs Thymeleaf

In this post, we will try to compare FreeMarker vs Groovy vs Mustache vs Thymeleaf with examples. Spring Boot supports FreeMarker, Groovy, Mustache and Thymeleaf. But, how do they compare with each other? Let’s find out which template engine is the best for different use-cases in spring boot. For this comparison, I have created four…

Spring Boot Custom Health Indicators

In this post, We will learn about writing Custom Health Check indicators for Spring Boot Applications. Spring Boot out-of-the-box health checks are good. But in the real world, it is often the case that one application relies on another application’s availability for performing operations. In this case, it would be helpful to add a health…

Spring Boot Health Endpoint

In this post, We will learn about Health check indicators of Spring Boot. Spring boot makes health checks easier for us by providing opinionated /actuator/health endpoint. Spring Boot Health actuator The HealthEndpoint of spring-boot-starter-actuator module collects Health information for any beans that are defined as HealthIndicator. For a simple web application, there are two HealthIndicator beans Auto-Configured by default. And they are for Ping health check and…

Spring Boot Structure and Convention

In this post, we will learn each part of Spring Boot project Structure and its conventions. Spring Boot is an opinionated view of how a Spring-based application should be implemented. Given that a lot of these opinions are on how Spring features should be used, Spring boot also emphasises the structure of the spring boot…