DEV Community

loizenai
loizenai

Posted on

Angular SpringBoot CRUD Microsoft SQL Server Example

https://loizenai.com/angular-springboot-crud-mssql/

Tutorial: "Angular SpringBoot CRUD Microsoft SQL Server Example"

In the tutorial, I introduce how to create an "SpringBoot Angular Microsoft SQL Server CRUD Example" with POST/GET/PUT/DELETE requests to SpringBoot RestAPIs.

  • Design overview system by Architecture Diagram that includes: Angular Client, SpringBoot RestAPIs, and Microsoft SQL Server database.
  • Implement Angular CRUD Client with Angular built-in HttpClient to communicate with server side.
  • Implement SpringBoot RestAPIs that gets data from Microsoft SQL Server using Spring Data JPA and returns back data as Json format to requested Angular Client.

You can check out the complete code of the application on this github repository.

Related posts:


Overall Angular SpringBoot Microsoft SQL Server CRUD Architecture Application

[caption id="attachment_4985" align="alignnone" width="588"]Overall-Architecture-Angular-CRUD-Application-with-SpringBoot-Fullstack-Example Overall-Architecture-Angular-CRUD-Application-with-SpringBoot-Fullstack-Example[/caption]

  • We build backend SpringBoot Application that provides RestAPIs for POST/GET/PUT/DELETE Customer entities and store them in Microsoft SQL Server/PostgreSQL database.
  • We implement Angular Application that use Angular HTTPClient to interact (call/receive requests) with SpringBoot backend and display corresponding page view in browser.

Overview SpringBoot CRUD Microsoft SQL Server Backend Architecture

[caption id="attachment_4986" align="alignnone" width="692"]SpringBoot-RestAPIs-Backend-Architecture-Design SpringBoot-RestAPIs-Backend-Architecture-Design[/caption]

  • For building RestAPIs in SpringBoot application, we use Spring MVC Web.
  • For interacting with database Microsoft SQL Server/PostgreSQL, we use Spring JPA.
  • We implement RestAPI’s URL in RestAPIController.java file to process bussiness logic.
  • For manipulating database’s records, we define a JPA model for mapping field data and use a JPA CRUD repository to do CRUD operation with Microsoft SQL Server/PostgreSQL.
  • SpringBoot Project Structure

[caption id="attachment_1075" align="alignnone" width="549"]Angular SpringBoot CRUD  Microsoft SQL Server Example - SpringBoot RestAPI Backend Project Structure SpringBoot Backend Project Structure[/caption]

  • models package defines Customer model and Message response class.
  • repository package defines Spring JPA repository class CustomerRepository to do CRUD operation with database.
  • service package defines a middleware class CustomerServices between Controller and Repository.
  • controller package defines a RestAPI Controller RestAPIController to handle POST/GET/PUT/DELETE request.

Overview Angular CRUD Architecture Design - Angular SpringBoot CRUD Microsoft SQL Server RestAPI

[caption id="attachment_1079" align="alignnone" width="647"]Angular CRUD Application - Frontend Design Architecture Angular CRUD Application - Frontend Design Architecture[/caption]

Angular CRUD Application is designed with 3 main layers:

  • Service Layer is used to define Angular Common Services and HttpClient Services to interact with RestAPIs
  • Component Layer is used to define Angular Components to show views in Browser for interacting with Users
  • Router Layer is used to route URLs mapping with the corresponding Angular Components

Angular Project Structure:

[caption id="attachment_1085" align="alignnone" width="796"]Angular SpringBoot CRUD  Microsoft SQL Server Example - Angular CRUD Application - Project Structure Angular CRUD Application - Project Structure[/caption]

Angular CRUD Application defines 3 components, 2 services, 1 routers, and 2 data models:

  • Components:
  • add-customer component is used to add a new customer to system
  • list-customer component is used to show all customers on view pages, delete a customer and update a customer
  • message component is used to define a view to show logging message on browser
  • Services:
  • customer.service.ts defines POST/GET/PUT/DELETE HTTP requests to SpringBoot RestAPIs with the built-in Angular HttpClient.
  • message.service.ts defines an array storage to log all messages when Angular CRUD App running
  • Router: app-routing.module.ts defines how to map a corresponding Angular component with an URL.

More at:

https://loizenai.com/angular-springboot-crud-mssql/

Tutorial: "Angular SpringBoot CRUD Microsoft SQL Server Example"

Top comments (1)

Collapse
 
hassanfarooqui profile image
Hassan Farooqui

it seems general monolith architecture not a microservice