MicroServices - Part 2 : Configuration Management with Spring Cloud Config and Vault

MicroServices - Part 2 : Configuration Management with Spring Cloud Config and Vault

In MicroServices using Spring Boot & Spring Cloud – Part 1: Overview, we took a brief look at what microservices are and how we can use Spring Boot and Spring Cloud to build them.

In this post, we are going to learn:

  • What is the need for Spring Cloud Config and Vault?
  • How to create our first microservice: catalog-service
  • How to create a Spring Cloud Config Server
  • How to use Vault for storing sensitive data

MicroServices using Spring Boot & Spring Cloud – Part 1 : Overview

MicroServices using Spring Boot & Spring Cloud – Part 1 : Overview

Nowadays, “MicroServices” is the hot buzzword in software development, and many organizations prefer building their enterprise applications using a MicroServices architecture. In the Java community, Spring Boot is the most widely used framework for building both monoliths and microservices. I am planning to write a series of articles covering how to build microservices using Spring Boot and Spring Cloud.

Why SpringBoot is so popular and how to learn SpringBoot effectively?

Why SpringBoot is so popular and how to learn SpringBoot effectively?

Spring Boot is the most popular and widely used Java framework. This discussion of “Why is Spring Boot so popular?” occasionally comes up between me and my friends/colleagues. Also, I get emails from various people asking, “Spring is huge; how can I learn it quickly?”. In this post, I will try to answer these two questions.

SpringBoot Messaging with RabbitMQ

SpringBoot Messaging with RabbitMQ

RabbitMQ is one of the most popular message broker solutions and provides client libraries to be used from various programming languages, including Java, Scala, .NET, Go, Python, Ruby, PHP, etc. In this tutorial, we will learn how to use the RabbitMQ message broker to send and receive messages from a Spring Boot application. We will also look at how to send messages as JSON payloads and how to deal with errors using Dead Letter Queues (DLQ).

Session Management using Spring Session with JDBC DataStore

Session Management using Spring Session with JDBC DataStore

In web applications, user session management is very crucial for managing user state. In this article, we are going to learn about the approaches we have been following to manage user sessions in a clustered environment and how we can use Spring Session to implement it in a much simpler and more scalable way.

CI/CD for SpringBoot applications using Travis-CI

CI/CD for SpringBoot applications using Travis-CI

In this article, we are going to learn how we can use Travis CI for Continuous Integration and Continuous Deployment (CI/CD) of a Spring Boot application. We will learn how to run Maven build goals, perform test coverage validation using the JaCoCo plugin, run Code Quality checks using SonarCloud, build a Docker image and push it to DockerHub, and finally deploy it to Heroku.

Spring Cloud Tutorials – Introduction to Spring Cloud Config Server

Spring Boot provides a lot of flexibility in externalizing configuration properties via properties or YAML files. We can also configure properties for each environment (dev, qa, prod, etc.) separately using profile-specific configuration files such as application.properties, application-dev.properties, application-prod.properties, etc. But once the application is started, we cannot update the properties at runtime. If we change the properties, we need to restart the application to use the updated configuration properties.

Getting Started with SpringBoot in Intellij IDEA Community Edition

We can use IntelliJ IDEA Community Edition for working with Spring Boot applications, as we don’t need support for configuring servers like Tomcat, Wildfly, etc., and can simply run the applications by running the main() method.

However, there is no provision in IntelliJ IDEA Community Edition to create a Spring Boot application directly, the way it is supported in the Ultimate Edition.