Spring Boot is an open-source Java-based micro-framework. It is maintained by an organization named Pivotal. Spring Boot allows developers to quickly get started without spending time on developing and configuring their Spring application.
To better understand the details of Spring Boot it is important to know the basics of Spring. And it provides a platform for java developers with an auto configurable production-grade Spring application.
The Spring tool centers on giving flexibility through its dependency injection feature. It assists in including the essential dependencies fast. It is a lightweight framework.
Spring supports the DBC framework, which improves productivity and reduces errors. But if you are wondering whether you need to learn Spring before you start working with Spring Boot, the definite answer is NO!
What is Spring Boot?
The main idea of Spring Boot is to give you a production-ready application. It focuses on reducing the length of the code and providing you a simple method to run your Spring application.
One can easily start with minimum configurations without the need for an entire Spring setup. Also, Spring Boot aims at providing a platform you can just run.
For example, if you want to use Spring and JPA for database access, it is sufficient if you include the spring-boot-starter-data-JPA dependency in your project.
Example: Spring Boot Starter Web Dependency is used to write a Rest Endpoints
Apart from these many advantages of using this framework, there is one major disadvantage to it as well. It is the lack of control.
When using Spring Boot, due to the opinionated style, many extra dependencies are downloaded, with the assumption that you might need them later. Some of them go unused and simply add to the size of the file.
Finally, in a nutshell, the main aim of the Spring Boot framework is to, increase efficiency and reduce development time.
For beginning with a Java application, one can accept all defaults and avoid the manual configurations entirely. Thus, it is an advanced and easier version of Spring and a very useful tool for Java developers.