Spring Boot is a framework that allows to easily create Spring-powered, production-grade applications and services with the absolute minimum fuss. It takes an opinionated view of the Spring platform designed to work for new and experienced users of Spring.
Spring Boot makes it very easy to create a Spring-powered application with a minimum amount of work. An application created with Spring Boot (you can quickly do it using Spring Initializr) can be:
- Created without a single line of
xml
configuration, - Created without any requirement of an application server because Spring Boot provides an application server (Embed
tomcat
,jetty
orundertow
). - Largely autoconfigured with some sensible defaults and opinionated starter POMs to simplify your
maven
configuration, - Provide production-ready features such as metrics, health checks, and externalized configuration.
Spring Boot consists of several (optional) modules
- Spring Boot CLI
- Spring Boot Core
- Spring Boot Autoconfigure
- Spring Boot Actuator
- Spring Boot Starters
- Spring Boot Tools
Spring Boot CLI
A command line interface, based on groovy
, for starting/stopping Spring Boot created applications.
Spring Boot Core
The base for other modules, but it also provides some functionality that can be used on its own, eg. using command line arguments and yaml
files as Spring Environment property sources and automatically binding environment properties to Spring bean properties (with validation).
Spring Boot Autoconfigure
Module to autoconfigure a wide range of Spring projects. It will detect the availability of certain frameworks ( spring-batch
, spring-data-jpa
, hibernate
, jdbc
). When detected it will try to automatically configure that framework with some sensible defaults, which in general can be overridden in an application.properties/.yml file.
Spring Boot Actuator
This project, when added, will enable certain enterprise features (Security, Metrics, Default Error pages) to your application. Like the auto configure module it uses autodetection to detect certain frameworks/features of your application.
Spring Boot Starters
Different quickstart projects to include as a dependency in your maven
or gradle
build file. It will have the needed dependencies for that type of application. Currently, there are starter projects for a web project (tomcat
and jetty
based), spring-batch
, spring-data-jpa
, spring-integration
, spring-security
exist. Many more have been added over the years and the full list can be found here.
Spring Boot Tools
The maven
and gradle
build tool, as well as the custom Spring Boot Loader (used in the single executable jar/war), is included in this project.
Top comments (0)