
Build a real-time Spring Boot rest application for an employee management system with CRUD operations, multi-environment profiles, and Swagger testing for seamless database integration and scheduled emails.
Document the project with a readme and outline employee tables: personal details, payroll, passport, and address, using base department and designation tables with 1:1 and 1:N entity mappings.
Add a get by id endpoint in a Spring Boot rest app, using repository.findById with an Optional to safely retrieve an employee by their id from a path variable.
Define a department repository and custom queries to fetch employees by department name, map to department IDs, and implement a get employees by department method in the employee repository.
Create an employee response DTO to map data from multiple tables and return consolidated details to the end user, including name, department name, designation, hire date, and address.
Learn how to build a custom DTO to return an employee response, including higher manager details, designation, and department name, by fetching data via the employee service and mapping fields.
Refactor code by extracting a helper class for employee operations, implement an employee helper to generate responses for single and multiple employees, and adjust controller logic for department-based results.
Develop a custom query to fetch passport-expired employees by comparing current date with passport details, introduce a new repository method, and expose it via the controller.
Explore dynamic content filtering with Mapping Jackson in a Spring Boot real-time REST app, applying admin vs employee filters to response data while comparing JSON ignore and runtime filtering.
Create a dedicated employee demo controller for create and update operations, configure a base URL via application properties, and build an employee request dto with Lombok to enable save functionality.
Populate an employee from the request by filling personal, payroll, passport, and address details, then save the complete employee via the repository using a post method.
Refactor the create employee flow in a spring boot rest app by extracting methods and moving logic to a helper, delegating to the employee service and repository for persistence.
Create a delete mapping API to remove an employee by id, handling non-existent records and cascading deletions to related data via the employee repository.
In this course, you will learn how to build REAL TIME REST APIs using Spring boot.
Well, we will follow the Real-time industry-standard project development approach in this course.
SpringBoot ?
Spring Boot is an open source, microservice-based Java web framework. The Spring Boot framework creates a fully production-ready environment that is completely configurable using its prebuilt code within its codebase
JPA?
Spring Boot JPA is a Java specification for managing relational data in Java applications. It allows us to access and persist data between Java object/ class and relational database. JPA follows Object-Relation Mapping (ORM). It is a set of interfaces
H2 Database ?
H2 database is an open source, embedded and in memory relational database management system. It is written in Java and provides a client/server application. It stores data in system memory instead of disk. Once program is closed, data is also lost
Lombok ?
What is Lombok. Project Lombok (from now on, Lombok) is an annotation-based Java library that allows you to reduce boilerplate code. Lombok offers various annotations aimed at replacing Java code that is well known for being boilerplate, repetitive, or tedious to write
You will learn the below topics in this course :
How to create SpringBoot project using Intellij and Spring initializer
How to add project dependencies
What is JPA and how to create Entities
Relationship between entities [tables]
How to write API's in SpringBoot
Learn Spring boot REST API exception handling for the entire application
Learn how to use Data Transfer Objects
You will learn using Lombok annotations
Learn REST APIs Documentation with Swagger UI
You will learn to perform the database operations using Data JPA
You will connect Spring Boot application to MySQL database
You will connect Spring Boot application to H2 database
You will learn to create the REST end points
Learn how to build CRUD REST API's
Learn how to content filtering using Jackson
Learn how to write Asynchronous method
Learn how to write scheduler with CRON expression
Learn how to Call third part rest API's
Learn how to refactoring the code
Learn how to send email from SpringBoot
Technologies:
Java 8+
Spring Boot
Spring Data JPA
Tomcat
IDE:
Intellij IDEA
Database:
H2 In Memory
MySQL database
Tools:
Postman - Test REST API
Maven - Build Tool