This document describes a Spring Boot application that creates microservices for a customer and transaction management web application using REST APIs. It utilizes Java, Spring Boot, MySQL, JPA, Hibernate, and Gradle. The application enables CRUD operations on customer and transaction data through a repository layer and exposes APIs through a controller. It follows a multi-layer architecture with entities, repositories, services, and controllers to manage the flow from the database to the API endpoints.
This document describes a Spring Boot application that creates microservices for a customer and transaction management web application using REST APIs. It utilizes Java, Spring Boot, MySQL, JPA, Hibernate, and Gradle. The application enables CRUD operations on customer and transaction data through a repository layer and exposes APIs through a controller. It follows a multi-layer architecture with entities, repositories, services, and controllers to manage the flow from the database to the API endpoints.
This document describes a Spring Boot application that creates microservices for a customer and transaction management web application using REST APIs. It utilizes Java, Spring Boot, MySQL, JPA, Hibernate, and Gradle. The application enables CRUD operations on customer and transaction data through a repository layer and exposes APIs through a controller. It follows a multi-layer architecture with entities, repositories, services, and controllers to manage the flow from the database to the API endpoints.
Description This is a spring boot application which utilizes Java to create multiple microservices which are delivered through REST APIs for a customer and transaction management web application. Enables crud operations to be performed by database layer for customers and transactions. Persistence logic contains storage logic and translates business objects from and to database. Business logic is custom rules that defines how a business operates however in REST APIs we should only be concerned about requests and responses hence its used for transaction management. Tools and Technologies
Spring boot – tool for developing microservices and web applications
MySQL JDBC driver allows application to interact with a MySQL database. Java 17 JPA – mapping , storage , retrieval and updating data between java objects and relational databases Gradle – build automation tool for creating applications Hibernate – ORM tool which provides framework for object mapping Postman for API due to lack of front end Project Flow 1 : Initializing Spring boot project with the dependencies to be used such as Spring Data JPA, Spring Web and MySQL Driver. 2 : Connect Spring Boot to the database with necessary information. 3 : Creation of a customer entity class which is registered with Hibernate. 4 : Creating a repository class to perform CRUD operations on the Customer entity class. 5 : Creating a controller i.e. business layer in order to implement actual business logic of information processing. 6 : A service layer that facilitates communication between controller and repository layer. 7 : A DAO layer responsible for database interaction to save and restore application data. 8 : Build and run the spring boot application in order to test the API endpoints using browser, curl or Postman, here I have primarily used Postman Project Architecture Database Architecture Coding Standards My project is implementing the 4th level of the RMM model standard. Custom exception handling is also involved. REST API DETAILS