Spring Boot is a great framework that can help developers easily build and run microservices and cloud-native applications.
Historically, it represented the first alternative to Java EE, and, in my opinion, it usually implements new architectural design patterns in a production-ready way.
Over the years, it has evolved to overcome the main critical issues advanced by the project's open source community, which are as follows:
- There are too many XML configuration files needed to implement it
- It is a difficult way to manage the interdependencies between Spring modules
As it was described for Thorntail, Spring Boot can be executed by using the following methods:
- Using an executable JAR file, via the $ java -jar command, with the following embedded servlet containers:
- Tomcat 8.5
- Jetty 9.4
- Undertow 1.4
- Via traditional WAR deployments into any application servers or servlet containers that implement the Servlet 3.1+ specifications
The latest release (which, at the time of writing, is v2.0.5) provides build support using Maven or Gradle; it requires Java 8 or higher to run, and it is also based on the Spring 5.0.9 release representing the main core.