Spring Boot Architecture

Spring Boot Architecture: Spring Boot Work Flow

Spring Boot architecture is four-tiered architecture. It is a well-designed architecture that allows us to develop applications with minimal programming efforts. These applications are production-grade and stand-alone applications.

The Spring Boot architecture is designed in a way that completely avoids the use of XML-based and annotation-based configuration from the applications. Spring Boot reduces the effort of the developer as it provides production-ready applications in less time.

Spring Boot architecture is made of the following four layers:

  • Presentation Layer
  • Business Layer
  • Persistence Layer
  • Database Layer
Spring Boot Architecture

Where,

Presentation Layer: It is the frontend layer of Spring Boot architecture, which is responsible for managing the HTTP requests, translates the JSON parameter to object and vice-versa, and also authenticates the request and forward it to the business layer. In a nutshell, It consists of views.

Business Layer: It manages all the business logic with the help of service classes and uses services provided by data access layers. It performs validation and authorization, for example, admin verifications.

Persistence Layer: The persistence layer is responsible for translating the business objects from and to database rows. It contains all the storage logic.

Database Layer: The database layer handles the database, such as MySQL, MongoDB, and more. All the DB operations, such as CRUD, are performed in this layer.

Spring Boot Work Flow

Spring Boot is a Spring Framework, so it mostly supports all the features and modules of Spring-based frameworks such as Spring Core, Spring MVC, and more. The only difference is that there is no need for the DAO and DAOImpl classes.

The workflow of Spring Boot is as following:

Spring Boot WorkFlow

How does it work?

Step1: Creates a data access layer for database operations that needs a repository class extending CRUD services.

Step2: Makes the http request (PUT or GET) by the client.

Step3: Controller mapped it with the specific route of request and called the service logic.

Step4: The service layer performs the business logic on data, mapped through JPA with model/entity class.

Step5: The response is returned by the model in the form of a JSP page.