Spring Boot Kotlin - Architecture
This chapter will explain you about Architecture on Spring Boot.
Spring Boot Architecture
Before you can learn more about Spring Boot, you should first understand the Architecture of Spring Boot, which has the following four:
Presentation Layer: A layer that handles HTTP Requests, translates the JSON Parameter into an object, verifies the request, and then passes it on to the business layer.
Business Layer: a layer that handles all business logic
Persistence Layer: A layer that handles all storage logic and converts business objects into database rows.
Database Layer: A layer that handles CRUD Operations
Spring Boot Flow Architecture

The image above represents the Basic Flow Architecture for Project Spring Boot:
- Model: has the role of creating a 
tableand communicates with thedatabase. - Repository: has the role of generating data, modifying data, deleting data, and displaying data from the Database, and it interacts with the 
Model. - Service: has the role of creating 
business logicfor the program and it interacts withRepositoryand to be able to use theRepositoryin theServiceyou need to inject the dependency of the repository. - Controller: has the role of creating an 
http request endpointfor theclienttorequestwhat the client wants, such as creating data, modifying data, deleting data, and displaying data, and it interacts withServiceand to be able to useServicein theControlleryou need to inject the dependency of the service. - Client: the 
client sidethat is responsible for requesting to theControllerendpoint. 
Summary
- After studying this chapter, you will be able to understand more about Spring Boot Architecture.