First of all, let's start with clearing out a few misconceptions about Spring Boot:
- Spring Boot is not a code generation framework. It does not generate any code.
- Spring Boot is neither an application server, nor is it a web server. It provides good integration with different ranges of applications and web servers.
- Spring Boot does not implement any specific frameworks or specifications.
These questions still remain:
- What is Spring Boot?
- Why has it become so popular in the last couple of years?
To answer these questions, let's build a quick example. Let's consider an example application that you want to quickly prototype.
Let's say we want to build a microservice with Spring MVC and use JPA (with Hibernate as the implementation) to connect to the database.
Let's consider the steps in setting up such an application:
- Decide which versions of Spring MVC, JPA and Hibernate to use.
- Set up a Spring context to wire all the different layers...