Bootstrapping a Spring application
To implement our usecase, we are using the well-known Spring modules Spring Web and Spring Web MVC. Our application will not use the new features of Spring 5, so it will run similarly on Spring Framework 4.x. To simplify our development process and even more, we are leveraging Spring Boot, which is described in more detail later. To bootstrap our application, we may configure and download a Gradle project from the Spring Initializer website at start.spring.io. For now, we need to select the preferred Spring Boot version and dependency for the web (the actual dependency identifier in Gradle config will be org.springframework.boot:spring-boot-starter-web), as shown in the following screenshot:
Alternatively, we may generate a new Spring Boot project using cURL and the HTTP API of the Spring Boot Initializer site. The following command will effectively create and download the same empty project with all the desired dependencies:
curl https://start.spring.io/starter.zip \
-d dependencies=web,actuator \
-d type=gradle-project \
-d bootVersion=2.0.2.RELEASE \
-d groupId=com.example.rpws.chapters \
-d artifactId=SpringBootAwesome \
-o SpringBootAwesome.zip