Spring Framework vs Spring Boot
The past month was really stressful because we Immigrated to Canada. Therefore, I had to find a new job, a fact which caused the past two weeks to be filled with many interviews. One common question I encountered was: “What is the difference between the Spring Framework and Spring Boot?” As someone who worked with Spring and Spring Boot for the past year and a half, I could explain all the common features of Spring. But there were a few points that still eluded me during the interview. This is why I decided to write a more comprehensive answer to this question.
Let’s start by explaining what Spring Framework is: Spring Framework is a Java EE Framework which helps us build applications. As of today, it is the most widely used framework for developing Java applications. Spring consists of an elaborate collection of programming and configuration models. It helps us be more productive by providing solutions to our current development needs. Some of the benefits Spring Framework provides are:
- Provides solutions for every level of your implementation
- Allows loose coupling between components
- Supports configuration using XML or annotations
- Provides middleware services
A more complete description of all Spring Framework has to offer can be found on their website .
So, what do we need Spring Boot for? Spring Boot helps very easily create production grade Spring-based applications. It includes auto-configuration for most of the things we need. This allows us to have an up and running RESTful application with a very minimal amount of code. As stated at their website , Spring Boot includes the following features:
- Let’s you create stand-alone Spring applications
- Allows to directly embed Tomcat, Jetty or Undertow
- Provides opinionated ‘starter’ dependencies to simplify your build configuration
- Automatically configures Spring and 3rd party libraries whenever possible
- Provides production-ready features such as metrics, health checks, and externalized configuration
- Absolutely no code generation and no requirement for XML configuration
In conclusion, Spring Boot is made to be the starting point for your Spring Framework development. It uses the Spring Framework and saves you a great deal of time on configuration. It is, in my opinion, a must in case you decided to develop using the Spring Framework.