DEV Community

Cover image for In One Minute : SpringBoot
Rakesh KR
Rakesh KR

Posted on

In One Minute : SpringBoot

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 or undertow).
  • 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

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)