• Post category:StudyBullet-13
  • Reading time:12 mins read


Developing Full-Stack Project: Spring Data JPA, MVC, Thymeleaf, Spring Testing (Mockito, JUnit), Spring Security, Maven

What you will learn

Building a Full-Stack Java Spring Project

Implmenet back-end layer using Spring Data JPA

Securing the application and implement user roles using Spring Security

Implement front-end using Spring MVC Thymeleaf

Implmenet unit testing for the project using Mocoito

Implmenet unit testing for the project using Unit

Implmenet Intrgration Testing using Test Containers

Downloadable Source Code

Description

Introduction to SpringBoot : 

Follow Our Pages for Instant New Free Course Notifications!

LinkedIn YouTube Facebook Instagram Twitter Telegram

Spring Boot is an open source Java-based framework used to create a micro Service. It is developed by Pivotal Team and is used to build stand-alone and production ready spring applications. This chapter will give you an introduction to Spring Boot and familiarizes you with its basic concepts.

SpringBoot Advantages :

Spring Boot offers the following advantages to its developers −


Subscribe to latest coupons on our Telegram channel.

  • Easy to understand and develop spring applications
  • Increases productivity
  • Reduces the development time

Course Description :

This course teaches how to build a full-stack application from the bottom up and touches on very import concepts used in real live software development .

Course Objectives :

  1. Learn how to build system class diagram (UML) based on system buisness requirements.
  2. Learn to use Spring Initializr and how to contrcust the SpringBoot project.
  3. Learn how to develop Model layer using Spring Data JPA.
  4. Learn how to develop Business layer using Spring Service.
  5. Learn how to develop Unti testing using JUnit-5 and Mockito-4.
  6. Learn how to develop Integration testing using Test Containers.
  7. Learn how to develop Front-End using Spring MVC and Theymleaf.
  8. Learn how to develop Users Authentication and authorization using Spring Secuirty (Statefull)
  9. Learn how to use Maven Build tool.
  10. Using Mysql Database for data storing.
  11. Using best Java IDE while developer : Intellij IDEA.
  12. Explaining how to install the software on Windows and Linux.
English
language

Content

Course Overview

Course Overview
Course Sections
Course Objectives
Course Prerequisites
Downloading Source Code

Course Software Installation (Linux Ubuntu)

Step 1 : Install/Update JDK 11
Step 2 : Intellji IDE Installation (Part 1)
Step 2 : Intellji IDE Installation (Part 2 : Change to Dark Mode (Optional) )
Step 3 : Download and Install Apache Maven
Step 4 : Create First Maven Application on IntelliJ IDE
Step 5 : Install MYSQL & PhpMyAdmin

Application Analysis (Business Requirements)

Buiness Analysis (Application Requirements)
System Wireframes
System UML Class Diagrams
JavaCorner-Admin Demo (Show the final output)

Step 1 : Spring Data JPA Implementation

Agenda
Step 1 : Choose Application Maven Dependencies
Step 2 : Choose Application Maven Dependencies
Step 3 : Create Entities & Relationships (Part 1)
Step 3 : Create Entities & Relationships (Part 2)
Step 3 : Create Entities & Relationships (Part 3)
Step 3 : Create Entities & Relationships (Part 4)
Step 3 : Create Entities & Relationships (Part 5)
Step 3 : Create Entities & Relationships (Part 6)
Step 3 : Create Entities & Relationships (Part 7)
Step 3 : Create Entities & Relationships (Part 8)
Step 4 : Add database configurations in application.properties
Step 5 : Implement JPA Repository Interfaces (Part 1)
Step 5 : Implement JPA Repository Interfaces (Part 2)
Step 5 : Implement JPA Repository Interfaces (Part 3)
Step 5 : Implement JPA Repository Interfaces (Part 4)
Step 6 : Developing Helper Class to Test the Functionalities (Part 1)
Step 6 : Developing Helper Class to Test the Functionalities (Part 2)
Step 6 : Developing Helper Class to Test the Functionalities (Part 3)
Step 6 : Developing Helper Class to Test the Functionalities (Part 4)
Step 6 : Developing Helper Class to Test the Functionalities (Part 5)
Step 6 : Developing Helper Class to Test the Functionalities (Part 6)
Step 7 : Create the Application Database in phpMyAdmin
Step 8 : Generate the Database Tables from Application ORM (Part 1)
Step 8 : Generate the Database tables from Application ORM (Part 2)
Step 8 : Generate the Database tables from Application ORM (Part 3)
Step 8 : Generate the Database tables from Application ORM (Part 4)
Step 8 : Generate the Database tables from Application ORM (Part 5)
Step 8 : Generate the Database tables from Application ORM (Part 6)
Step 8 : Generate the Database tables from Application ORM (Part 7)

Step 2 : Spring Service Implementation

Agenda
Step 1 : Use Spring Data JPA project
Step 2 : Remove Utility Package
Step 3 : Create Service Interfaces & their Implementations (Part 1)
Step 3 : Create Service Interfaces & their Implementations (Part 2)
Step 3 : Create Service Interfaces & their Implementations (Part 3)
Step 3 : Create Service Interfaces & their Implementations (Part 4)
Step 3 : Create Service Interfaces & their Implementations (Part 5)
Step 3 : Create Service Interfaces & their Implementations (Part 6)
Step 3 : Create Service Interfaces & their Implementations (Part 7)
Step 3 : Create Service Interfaces & their Implementations (Part 8)
Step 4 : Add @Service & @Transactional Annotations to Services
Step 5 : Update Application.properties file
Step 6 : Write from your Application to Database & Test (Part 1)
Step 6 : Write from your Application to Database & Test (Part 2)

Step 3 : Unit Testing and Integration Testing

Agenda
Step 1 : Use Spring Service Project
Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 1)
Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 2)
Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 3)
Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 4)
Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 5)
Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 6)
Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 7)
Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 8)
Step 3 : Configuring Test Containers For Integration Tests (Part 1)
Step 3 : Configuring Test Containers For Integration Tests (Part 2)
Step 3 : Configuring Test Containers For Integration Tests (Part 3)
Step 4 : Testing Repositories using TestContainers & DataJpaTest (Part 1)
Step 4 : Testing Repositories using TestContainers & DataJpaTest (Part 2)
Step 4 : Testing Repositories using TestContainers & DataJpaTest (Part 3)
Step 4 : Testing Repositories using TestContainers & DataJpaTest (Part 4)
Step 4 : Testing Repositories using TestContainers & DataJpaTest (Part 5)
Step 4 : Testing Repositories using TestContainers & DataJpaTest (Part 6)

Step 4 : Spring MVC and Thymeleaf Implementation

Agenda
Step 1 : Use Testing Project
Step 2 : Add Required Dependencies to pom.xml
Step 3 : Create ‘Course’ Controller & Views (Part 1)
Step 3 : Create ‘Course’ Controller & Views (Part 2)
Step 3 : Create ‘Course’ Controller & Views (Part 3)
Step 3 : Create ‘Course’ Controller & Views (Part 4)
Step 3 : Create ‘Course’ Controller & Views (Part 5)
Step 3 : Create ‘Course’ Controller & Views (Part 6)
Step 3 : Create ‘Course’ Controller & Views (Part 7)
Step 3 : Create ‘Course’ Controller & Views (Part 8)
Step 4 : Create ‘Instructor’ Controller & Views (Part 1)
Step 4 : Create ‘Instructor’ Controller & Views (Part 2)
Step 4 : Create ‘Instructor’ Controller & Views (Part 3)
Step 4 : Create ‘Instructor’ Controller & Views (Part 4)
Step 4 : Create ‘Instructor’ Controller & Views (Part 5)
Step 5 : Create ‘Student’ Controller & Views (Part 1)
Step 5 : Create ‘Student’ Controller & Views (Part 2)
Step 5 : Create ‘Student’ Controller & Views (Part 3)
Step 5 : Create ‘Student’ Controller & Views (Part 4)
Step 5 : Create ‘Student’ Controller & Views (Part 5)

Step 5 : Spring Security Implementation

Agenda
Step 1 : Use Spring MVC Project
Step 2 : Add Dependencies to pom.xml
Step 3 : Create Security Configuration Class
Step 4 : Implement User Detail Service
Step 5 : Encode password using BCryptPasswordEncoder
Step 6 : Adding role based restrictions to ‘Course’ Controller & Views (Part 1)
Step 6 : Adding role based restrictions to ‘Course’ Controller & Views (Part 2)
Step 6 : Adding role based restrictions to Course Controller & Views (Part 3)
Step 6 : Adding role based restrictions to Course Controller & Views (Part 4)
Step 6 : Adding role based restrictions to Course Controller & Views (Part 5)
Step 7 : Adding role based restrictions to Instructor Controller & Views(Part 1)
Step 7 : Adding role based restrictions to Instructor Controller & Views(Part 2)
Step 8 : Adding role based restrictions to ‘Student’ Controller & Views(Part 1)
Step 8 : Adding role based restrictions to Student Controller & Views (Part 2)
Step 9 : Testing Applications based on Roles