Spring Boot

Table of Contents


Spring Boot is a fast way of creating applications. Looks at your classpath and the beans you've configured, makes reasonable assumptions about what you're missing, and adds those items. Spring Boot enables us to focus more on business features and less on infrastructure.

Spring Boot is today one of the most popular frameworks for microservices development. Spring Boot makes quick application development easy. It has important features like start project, auto-configuration, and actuator; developing microservices is a cakewalk.

Spring Boot transforms how you perform the Java programming activities, streamlining your experience dramatically. Spring Boot blends necessities including an application background and an auto-configured, embedded web server to make the creation of microservices a lot easier.

To be even faster, you can combine Spring Boot with the extensive collection of libraries, servers, patterns, and templates provided by Spring Cloud to securely deploy all microservice-based architectures into the cloud, in fairly short order.

Spring Boot provides the entry point for all Spring-based applications. Spring Boot is planned to get you up and running as fast as possible, with minimal Spring initialization setup.

  • Get started in seconds using Spring Initializr
  • Build anything: REST API, WebSocket, web, streaming, tasks, and more
  • Simplified security
  • Rich support for SQL and NoSQL
  • Embedded runtime support: Tomcat, Jetty, and Undertow
  • Developer productivity tools such as LiveReload and Auto Restart
  • Curated dependencies that just work
  • Production-ready features such as tracing, metrics, and health status
  • Works in your favorite IDE: Spring Tool Suite, IntelliJ IDEA, and NetBeans

Spring Boot Project Structure

The project structure illustrated in figure 1 shows a typical layout recommended by spring boot team.

Figure 1: Spring Boot Project Structure


POM is an acronym for Project Object Model. The pom.xml file includes project and configuration information for the maven to construct the project, such as dependencies, build directory, source directory, test source directory, plugin, goals etc. In a spring boot project, most of the modules can be enabled or disabled just by adding a set of starters. All Spring Boot projects typically use spring-boot-starter-parent as the parent in pom.xml.

Figure 2: pom.xml

Spring Boot Starter Parent


Spring Boot Starters

Versions of Dependencies

Spring Boot Maven Plugin