Spring Boot favours convention over configuration and is designed to get developer running application as quickly as possible. Spring Boot uses completely new way of Java Application Development by making it very easy by avoiding some tedious development steps and boilerplate code and configuration.
Spring Boot is not a framework. It is implemented on top of existing Spring frameworks. Spring Boot does not solve new problems. It helps to solve the same problems with a lot of reduced efforts.
Advantages of Spring Boot :
- Follows “Opinionated Defaults Configuration” Approach to reducing Developer effort
- Makes easy to develop Spring-based applications using Java or Groovy
- Avoids writing lots of import statements, boilerplate code, annotations and xml configuration
- Provides some defaults to quick start new projects within no time which reduce the Development, Unit Test and Integration Test time
- Provides Embedded HTTP servers like Tomcat, Jetty etc. to develop and test our web applications very easily
- Provides opinionated ‘starter’ POMs to simplify Maven configuration
- Provides lot of plugins to develop and test Spring Boot applications using Build tools like Maven and Gradle
- Provides non-functional features that are common to most of the projects (e.g. security, metrics, health checks and other external configurations)
In simple terminology, Spring Boot = Spring Framework + Embedded Servers (Tomcat, Jetty, etc) – ( Lot of boilerplate codes + Lot of import statements + XML Bean Configuration ). So, finally, Spring Boot is just Spring Framework with productivity boost.
To start opinionated approach to create Spring Boot Applications, the Spring Team (the Pivotal Tem) has provided the following three approaches:
- Using Spring Boot CLI Tool
- Using Spring STS IDE
- Using Spring Initializr Website ( http://start.spring.io/ )