Introduction

Spring framework becoming a standard slowly after the book Expert One-on-One J2EE Design and Development published in 2002. Although the founder of Spring Framework, Rod Johnson, has left Springsource/Vmware in pursuit of other interests, there is still a lot developers using Spring for their routine works.

Spring framework are now SpringIO.

Writing a web application in Spring is a pain in the ass before Spring Boot, it is not like ruby and rails, php or node.js, because it use dependency injection as the framework backbone, there are a lot of configurations using xml, if you used spring before you know what l mean, and Spring Boot are comes to the rescue. There is a lot of spring books out there, l am not here to rewrite another spring book, but to straight away build a spring web application using Spring Boot.

What is Spring Boot?

From the website of Spring Boot:

Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is designed to get you up and running as quickly as possible.

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that 
you can "just run". We take an opinionated view of the Spring platform and third-party libraries 
so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.

**Features**

* Create stand-alone Spring applications
* Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
* Provide opinionated 'starter' POMs to simplify your Maven configuration
* Automatically configure Spring whenever possible
* Provide production-ready features such as metrics, health checks and externalized configuration
* Absolutely no code generation and no requirement for XML configuration

Spring Boot make web application development fast again, but l think spring guys are targeting Spring's ability to do Microservices.

Ref :

  1. Martin Fowler - Microservices (Video)
  2. Martin Fowler - Microservices (Article)