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

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

SpringBoot is the most popular and widely used Java framework. Occasionally this discussion of “Why is SpringBoot so popular?” come between me and my friends/colleagues. Also, I do get emails from various people asking “Spring is huge and how to learn it quickly?”. In this post, I will try to answer these 2 questions. Why is SpringBoot so popular? There could be many reasons why Spring and SpringBoot are very popular, but in my opinion following are the key reasons:

Continue reading »
SpringBoot Messaging with RabbitMQ

SpringBoot Messaging with RabbitMQ

RabbitMQ is one of the 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 RabbitMQ message broker to send and receive messages from a SpringBoot application. We will also look at how to send messages as JSON payloads and how to deal with errors using Dead Letter Queues (DLQ).

Continue reading »
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 what are 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. Typically in production environments, we will have multiple server nodes with a load balancer in front of them and all the client traffic will be coming through the load balancer to one of the server nodes.

Continue reading »
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 SpringBoot application. We will learn how to run maven build goals, perform test coverage validation using JaCoCo plugin, Code Quality checks using SonarCloud, build Docker image and push it to DockerHub and finally deploy it to Heroku. The source code for this article is at https://github.com/sivaprasadreddy/jblogger Last week I was talking to my friend about how easy it became to build a Java application and deploy it using SpringBoot.

Continue reading »