What is the difference between Spring Boot and the Spring framework?

Let’s go through the definitions of those mentioned things. Assume that we are talking about an application that accepts request from any browser, do certain computing then persist data in specific type of database. A little bit more technical, we are talking about the flow of

Browser <> RESTful layer <> Middle layer <> Database

Spring framework is a Injection dependency framework at first (it’s still as it is today) targeting managing life-cycle of Java components (what so-called beans). Today, Spring framework is pretty bloated with tons facilities/helpers on top of it; but if you look at the big picture, it’s still a framework that glue things together, a middle man to MVC frameworks (Struts 1,2, JSF etc), ORM frameworks (Hibernate, iBatis, JOOQ etc) and other necessary facilities (Quartz, Email, you can tell, whatever you need, most likely, there’s a Spring support). Back to our assumed flow, it takes quite a lengthy tutorial to set Spring framework up and running because Spring framework nature is to provide flexibility of choices to you.

Spring boot on the other hand is built on a totally different mantra. It’s basically a suite, pre-configured, pre-sugared set of frameworks/technologies to reduce boiler plate configuration providing you the shortest way to have a Spring web application up and running with smallest line of code/configuration out-of-the-box. As you can see from there Spring Boot page, it took less than 20 LOC to have a simple RESTful application up and running with almost zero configuration. It definitely has a ton of way to configure application to match your need, this is the Spring Boot Reference Guide for your reference