Goals

  1. Enable building production ready applications quickly.
  2. Provide common non - functionality features like embedded servers (tomcat, jetty), metrics, health checks, external configurations

Features:

  1. Quickly create spring applications with auto configurations. Quick Starters like web logging etc..
  2. Embedded Server  - package tomcat in application jar and deploy the application.
  3. Monitoring - spring boot actuator - how many time services is called, failed etc.

Before spring boot we have to decide all the dependencies and the versions as well problem is there might be a comparability issues. There would be lot of configurations like dispatcher servlet , view resolver etc with out spring boot.

Steps to create quick the spring boot project ( Opinionated)

go to start.spring.io - Click Here.. Group name - package name, Artifact - Project name, add dependencies necessary ( web, actuator, thyme leaf, security so on..) Download the zip, unzip it and import to IDE( eclipse, spring ts). Click on Spring Application and run it. Quick and simple indeed! Spring boot looks at frameworks available on CLASS PATH, existing configurations for application, based on this Spring boot provides basic configuration needed to configure the application with these frameworks.

What is Spring boot Auto Configurations

  1. @SpringBootApplication - indicates that this is## spring context file.## enables auto configuration, enables component scan (scan this package and sub packages)
  2. SpringApplication.run(Main.class, args) Method- takes in spring context , returns application context, Application Context will have all the beans configured.