Spring Boot: The GOOD and the BAD

Alexandru Nastase
3 min readAug 10, 2022

--

Alright so you’ve made your choice. Java. Good choice!

Now you got to choose a framework because we all know a programming language without a framework to be paired with it is like a meal with no salt.

You’ve done a ton of research, read lots of articles, asked several people and, of course, checked the popularity over the years of all Java frameworks.

When it comes to selecting a Java framework, there are no shortage of options to choose from. However, in recent years, one framework has emerged as the clear favorite among developers: Spring Boot.

In this article we are going to talk about the PROS and the CONS of Spring Boot, as well as the use case in which you may want to use it.

PROS

  • Reduces the time spent on development and increases the overall efficiency of the development team.
  • Helps to autoconfigure all components for a production-grade Spring app.
  • Facilitates the creation and testing of Java-based applications by providing a default setup for unit and integration tests.
  • Helps to avoid all the manual work of writing boilerplate code, annotations, and complex XML configurations.
  • Comes with embedded HTTP servers like Jetty and Tomcat to test web applications.
  • The integration of Spring Boot with the Spring ecosystem which includes Spring Data, Spring Security, Spring ORM, and Spring JDBC is easy.
  • Provides many plugins that developers can use to work with embedded and in-memory databases smoothly and readily.
  • Allows for easily connecting with database and queue services like Oracle, PostgreSQL, MySQL, MongoDB, Redis, Solr, ElasticSearch, Rabbit MQ, ActiveMQ, and many more.
  • Provides admin support — you can manage via remote access to the application.
  • Eases the dependency and comes with Embedded Servlet Container.
  • Offers flexibility in configuring XML configurations, Java Beans, and Database Transaction.
  • Offers easy access to Command Line Interface which makes the development and testing of Spring Boot apps built with Java or Groovy agile.

CONS

  • If you have never worked with Spring before and want to learn about proxies, dependency injection, and AOP programming, it is not recommended to start with Spring Boot because it doesn’t cover most of these details.
  • You really have to understand a lot of the underlying Spring systems (and a bit of Spring history too), along with some advanced topics in order to modify and troubleshoot it.
  • Spring Boot works well with microservices. The Spring Boot artifacts can be deployed directly into Docker containers. However, some developers don’t recommend the framework for building large and monolithic apps.
  • If you are not familiar with other projects of the Spring ecosystem like Spring Security, Spring AMQP, Spring Integration, etc), using them with Spring Boot will make you miss many concepts that you would grasp if you had started using them independently.

CONCLUSION ?

Spring Boot is everywhere.

It seems like everyone is talking about it and using it for their new projects. Even big companies are using Spring Boot to power their websites and applications.

Spring Boot includes a number of built-in features that make development faster and easier, such as creating stand-alone executable jars and providing configuration options for flexible deployment. Spring Boot also makes it easy to create production-ready applications, with minimal configuration and setup required.

In short, Spring Boot makes life easier for Java developers, and that’s why it’s becoming so popular.

In my opinion, Spring Boot is a great framework that can save you a lot of time and effort in development. Give it a try if you’re looking for a quick and easy way to create Java web applications.

━━━━━━━━━━━━━━━━▼━━━━━━━━━━━━━━━━

My articles:

10 best practices in Java
The struggle of getting my first job as a software developer

Will Java still be worth in 2023? ☕
The BLUB Paradox
Things I wish I knew as a beginner programmer

--

--

Alexandru Nastase

Java guy. Life newbie. Maybe smart maybe funny. Personal stuff here, too. WELCOME ! ❤