Spring Boot is an open source java based framework developed by Pivotal Team.
Spring Boot makes it easy to create standalone, Production Grade Spring based applications that we can just run.
Spring Boot allows us to create a standalone application in order to create and execute any type of enterprise application like web application, distributed application,…. Here just run the standalone application.
Spring Boot is able to provide the Production Ready features like Metrics, Health checks, Externalized configurations,…..
Spring Boot Simplifies Bootstrapping the Spring Application.
Spring Boot was designed on the basis of the existing Spring Framework in order to simplify and speedup the spring based applications development.
Spring boot simplifies the spring application development by making all the configurations as “Auto-Configurations”, where developers will focus more on the business logic instead of thinking about the project configurations.
Spring based applications required configuration file in the form of an XML file, but Spring Boot applications do not require a configuration file in the form of an XML file, because Spring Boot follows “Auto-Configurations” principle , still if we want to provide some configurations to the Spring boot applications then we will use either properties file or yaml files.
When compared with the Spring Framework, Spring Boot reduces the application execution time and increases the application performance.
When compared with Spring Framework, Spring boot will improve Productivity.
Spring Boot follows “Opinionated Default Configurations” approach to reduce developers efforts, that is spring boot avoids writing a lot of boilerplate code, XML and annotations configurations.
Spring Boot provides a very good environment to integrate Spring Boot applications with Spring JDBC, Spring ORM, Spring WEB MVC,….
If we want to prepare and execute Spring Based web applications then we have to provide application servers explicitly, but Spring Boot is able to provide its integrated embedded servers internally like Tomcat, Jetty, Undertow,… in order to simplify and execute the web applications.
If we want to prepare database related applications by using Spring Framework then we have to make ready the databases explicitly, but Spring Boot provides integrated embedded databases internally like IN memory Databases like H2, Derby,…
Spring Boot provides a very good environment to prepare applications either by using Java or by using Groovy.
Spring Boot has an internal tool like CLI[Command Line Interface] in order to test and run the applications.
Spring Boot allows us to prepare the applications by using MAVEN and GRADLE.
Spring Boot = Extension To Spring +
Embedded Servers +
Embedded Databases +
No XML configurations +
Less Annotations +
Auto Configurations + Internal MAVEN and GRADLE development.