16.10.2023, 21:36
Developing A Full-Stack App : Spring Boot + Jpa + Thymeleaf
Last updated 3/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 10.43 GB | Duration: 17h 42m
Developing a Full-Stack App using Spring Boot, JPA, Thymeleaf, Spring Testing (Mockito, JUnit, Docker), Spring Security
What you'll 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
Requirements
Java +8
Spring Core Framework
Description
Introduction to Spring Boot : 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.Spring Boot Advantages :Spring Boot offers the following advantages to its developers Easy to understand and develop spring applicationsIncreases productivityReduces the development timeCourse 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 :Learn how to build system class diagram (UML) based on system buisness requirements. Learn to use Spring Initializr and how to contrcust the SpringBoot project.Learn how to develop Model layer using Spring Data JPA.Learn how to develop Business layer using Spring Service.Learn how to develop Unti testing using JUnit-5 and Mockito-4.Learn how to develop Integration testing using Test Containers.Learn how to develop Front-End using Spring MVC and Theymleaf.Learn how to develop Users Authentication and authorization using Spring Secuirty (Statefull)Learn how to use Maven Build tool.Using Mysql Database for data storing.Using best Java IDE while developer : Intellij IDEA.Explaining how to install the software on Windows and Linux.
Overview
Section 1: Course Overview
Lecture 1 Course Overview
Lecture 2 Course Sections
Lecture 3 Course Objectives
Lecture 4 Course Prerequisites
Lecture 5 Downloading Source Code
Section 2: Preparing Development Environment for Windows Os
Lecture 6 Step 1 : JDK Installation
Lecture 7 Step 2 : Download and Install Java IDE (Intellji IDE)
Lecture 8 Step 2 : Download and Install Java IDE (STS IDE)
Lecture 9 Step 3 : Download and Install Maven (Part 1)
Lecture 10 Step 3 : Download and Install Maven (Part 2)
Lecture 11 Step 4 : Download and Install MySql Server and Workbench
Section 3: Preparing Development Environment for Linux Ubuntu
Lecture 12 Step 1 : JDK Installation
Lecture 13 Step 2 : Intellji IDE Installation (Part 1)
Lecture 14 Step 2 : Intellji IDE Installation (Part 2 : Change to Dark Mode (Optional) )
Lecture 15 Step 2 : Download & Install STS IDE (Part 1) [optional]
Lecture 16 Step 2 : Download & Install STS IDE (Part 2) [optional]
Lecture 17 Step 2 : Download & Install STS IDE (Part 3) [optional]
Lecture 18 Step 3 : Download and Install Apache Maven
Lecture 19 Step 4 : Create First Maven Application on IntelliJ IDE
Lecture 20 Step 4 : Create First Maven Application on STS IDE [Optional]
Lecture 21 Step 5 : Install MySQL & phpMyAdmin
Section 4: Spring Boot Course : (Part 1 : Introduction to Spring Boot)
Lecture 22 Agenda
Lecture 23 What is Spring Framework
Lecture 24 What is Spring Boot
Lecture 25 Why Spring Boot
Lecture 26 History of Spring Boot
Lecture 27 New Features of Spring Boot 2 and Spring Boot 3
Lecture 28 Spring Boot vs Spring MVC
Section 5: Spring Boot Course : (Part 2 : First SpringBoot Application)
Lecture 29 Agenda
Lecture 30 Creating Spring Boot Initializr
Lecture 31 Generate First Project Initializr
Lecture 32 Deploy SpringBoot Application (Part 1)
Lecture 33 Deploy SpringBoot App (Part 2)
Lecture 34 SpringBoot Servlet Initializer
Section 6: Spring Boot Course : (Part 3 : Spring Boot Project Structure)
Lecture 35 Agenda
Lecture 36 Project Code Structures
Lecture 37 SpringBootApplication Annotation
Section 7: Spring Boot Course : (Part 4 : Spring Boot Runners)
Lecture 38 Agedna
Lecture 39 Spring Boot Runners (Part 1)
Lecture 40 Spring Boot Runners (Part 2)
Section 8: Spring Boot Course (Part 5 : Managing Application Properties)
Lecture 41 Agenda
Lecture 42 Application Properties (Part 1 : Define the Application Name)
Lecture 43 Application Properties ( Part 2 : Connecting with the Postgres Database )
Lecture 44 Application Properties ( Part 3 : Set Tomcat Port Number)
Lecture 45 Creating Custom properties (Part 1 : How to create custom properties)
Lecture 46 Creating Custom properties (Part 2 : Practical Example)
Lecture 47 Spring Boot Failure Analyser (Part 1)
Lecture 48 Spring Boot Failure Analyser (Part 2)
Section 9: Spring Boot Course (Part 6 : Spring Data JPA)
Lecture 49 What is JPA
Lecture 50 JPA Architecture
Lecture 51 JPA Implmentations
Lecture 52 Spring Data
Lecture 53 Spring Data JPA
Section 10: Business Requirements for 'JavaCorner-Admin' System
Lecture 54 Buiness Analysis (Application Requirements)
Lecture 55 Business Requirements + Use Case Diagram
Lecture 56 System Wireframes
Lecture 57 System UML Class Diagrams
Lecture 58 JavaCorner-Admin Demo (Show the final output)
Section 11: Implmenetation Step 1 : Implementing Model Layer using Spring Data JPA
Lecture 59 Agenda
Lecture 60 Step 1 : Choose Application Maven Dependencies
Lecture 61 Step 2 : Choose Application Maven Dependencies
Lecture 62 Step 3 : Create Entities & Relationships (Part 1)
Lecture 63 Step 3 : Create Entities & Relationships (Part 2)
Lecture 64 Step 3 : Create Entities & Relationships (Part 3)
Lecture 65 Step 3 : Create Entities & Relationships (Part 4)
Lecture 66 Step 3 : Create Entities & Relationships (Part 5)
Lecture 67 Step 3 : Create Entities & Relationships (Part 6)
Lecture 68 Step 3 : Create Entities & Relationships (Part 7)
Lecture 69 Step 3 : Create Entities & Relationships (Part 8)
Lecture 70 Step 4 : Add database configurations in application.properties
Lecture 71 Step 5 : Implement JPA Repository Interfaces (Part 1)
Lecture 72 Step 5 : Implement JPA Repository Interfaces (Part 2)
Lecture 73 Step 5 : Implement JPA Repository Interfaces (Part 3)
Lecture 74 Step 5 : Implement JPA Repository Interfaces (Part 4)
Lecture 75 Step 6 : Developing Helper Class to Test the Functionalities (Part 1)
Lecture 76 Step 6 : Developing Helper Class to Test the Functionalities (Part 2)
Lecture 77 Step 6 : Developing Helper Class to Test the Functionalities (Part 3)
Lecture 78 Step 6 : Developing Helper Class to Test the Functionalities (Part 4)
Lecture 79 Step 6 : Developing Helper Class to Test the Functionalities (Part 5)
Lecture 80 Step 6 : Developing Helper Class to Test the Functionalities (Part 6)
Lecture 81 Step 7 : Create the Application Database in phpMyAdmin
Lecture 82 Step 8 : Generate the Database Tables from Application ORM (Part 1)
Lecture 83 Step 8 : Generate the Database tables from Application ORM (Part 2)
Lecture 84 Step 8 : Generate the Database tables from Application ORM (Part 3)
Lecture 85 Step 8 : Generate the Database tables from Application ORM (Part 4)
Lecture 86 Step 8 : Generate the Database tables from Application ORM (Part 5)
Lecture 87 Step 8 : Generate the Database tables from Application ORM (Part 6)
Lecture 88 Step 8 : Generate the Database tables from Application ORM (Part 7)
Section 12: Implmenetation Step 2 : Implementing Business Layer using Spring Service
Lecture 89 Agenda
Lecture 90 Step 1 : Use Spring Data JPA project
Lecture 91 Step 2 : Remove Utility Package
Lecture 92 Step 3 : Create Service Interfaces & their Implementations (Part 1)
Lecture 93 Step 3 : Create Service Interfaces & their Implementations (Part 2)
Lecture 94 Step 3 : Create Service Interfaces & their Implementations (Part 3)
Lecture 95 Step 3 : Create Service Interfaces & their Implementations (Part 4)
Lecture 96 Step 3 : Create Service Interfaces & their Implementations (Part 5)
Lecture 97 Step 3 : Create Service Interfaces & their Implementations (Part 6)
Lecture 98 Step 3 : Create Service Interfaces & their Implementations (Part 7)
Lecture 99 Step 3 : Create Service Interfaces & their Implementations (Part 8)
Lecture 100 Step 4 : Add @Service & @Transactional Annotations to Services
Lecture 101 Step 5 : Update Application.properties file
Lecture 102 Step 6 : Write from your Application to Database & Test (Part 1)
Lecture 103 Step 6 : Write from your Application to Database & Test (Part 2)
Section 13: Implmenetation Step 3 : Implementing Testing Layer using SpringBoot Testing
Lecture 104 Agenda
Lecture 105 Step 1 : Use Spring Service Project
Lecture 106 Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 1)
Lecture 107 Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 2)
Lecture 108 Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 3)
Lecture 109 Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 4)
Lecture 110 Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 5)
Lecture 111 Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 6)
Lecture 112 Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 7)
Lecture 113 Step 2 : Creating Unit Tests for Service Layer using Junit & Mockito (Part 8)
Lecture 114 Step 3 : Configuring Test Containers For Integration Tests (Part 1)
Lecture 115 Step 3 : Configuring Test Containers For Integration Tests (Part 2)
Lecture 116 Step 3 : Configuring Test Containers For Integration Tests (Part 3)
Lecture 117 Step 4 : Testing Repositories using TestContainers & DataJpaTest (Part 1)
Lecture 118 Step 4 : Testing Repositories using TestContainers & DataJpaTest (Part 2)
Lecture 119 Step 4 : Testing Repositories using TestContainers & DataJpaTest (Part 3)
Lecture 120 Step 4 : Testing Repositories using TestContainers & DataJpaTest (Part 4)
Lecture 121 Step 4 : Testing Repositories using TestContainers & DataJpaTest (Part 5)
Lecture 122 Step 4 : Testing Repositories using TestContainers & DataJpaTest (Part 6)
Section 14: Implmenetation Step 4 : Implementing Front-End Layer using Thymeleaf
Lecture 123 Agenda
Lecture 124 Step 1 : Use Testing Project
Lecture 125 Step 2 : Add Required Dependencies to pom.xml
Lecture 126 Step 3 : Create 'Course' Controller & Views (Part 1)
Lecture 127 Step 3 : Create 'Course' Controller & Views (Part 2)
Lecture 128 Step 3 : Create 'Course' Controller & Views (Part 3)
Lecture 129 Step 3 : Create 'Course' Controller & Views (Part 4)
Lecture 130 Step 3 : Create 'Course' Controller & Views (Part 5)
Lecture 131 Step 3 : Create 'Course' Controller & Views (Part 6)
Lecture 132 Step 3 : Create 'Course' Controller & Views (Part 7)
Lecture 133 Step 3 : Create 'Course' Controller & Views (Part 8)
Lecture 134 Step 4 : Create 'Instructor' Controller & Views (Part 1)
Lecture 135 Step 4 : Create 'Instructor' Controller & Views (Part 2)
Lecture 136 Step 4 : Create 'Instructor' Controller & Views (Part 3)
Lecture 137 Step 4 : Create 'Instructor' Controller & Views (Part 4)
Lecture 138 Step 4 : Create 'Instructor' Controller & Views (Part 5)
Lecture 139 Step 5 : Create 'Student' Controller & Views (Part 1)
Lecture 140 Step 5 : Create 'Student' Controller & Views (Part 2)
Lecture 141 Step 5 : Create 'Student' Controller & Views (Part 3)
Lecture 142 Step 5 : Create 'Student' Controller & Views (Part 4)
Lecture 143 Step 5 : Create 'Student' Controller & Views (Part 5)
Section 15: Implmenetation Step 5 : Implementing Security Layer using Spring Security
Lecture 144 Agenda
Lecture 145 Step 1 : Use Spring MVC Project
Lecture 146 Step 2 : Add Dependencies to pom.xml
Lecture 147 Step 3 : Create Security Configuration Class
Lecture 148 Step 4 : Implement User Detail Service
Lecture 149 Step 5 : Encode password using BCryptPasswordEncoder
Lecture 150 Step 6 : Adding role based restrictions to 'Course' Controller & Views (Part 1)
Lecture 151 Step 6 : Adding role based restrictions to 'Course' Controller & Views (Part 2)
Lecture 152 Step 6 : Adding role based restrictions to Course Controller & Views (Part 3)
Lecture 153 Step 6 : Adding role based restrictions to Course Controller & Views (Part 4)
Lecture 154 Step 6 : Adding role based restrictions to Course Controller & Views (Part 5)
Lecture 155 Step 7 : Adding role based restrictions to Instructor Controller & Views(Part 1)
Lecture 156 Step 7 : Adding role based restrictions to Instructor Controller & Views(Part 2)
Lecture 157 Step 8 : Adding role based restrictions to 'Student' Controller & Views(Part 1)
Lecture 158 Step 8 : Adding role based restrictions to Student Controller & Views (Part 2)
Lecture 159 Step 9 : Testing Applications based on Roles
Section 16: Course Summary and What's Next
Lecture 160 Course Summary
Lecture 161 What's Next ?
Java/Spring Developers who looking to practice real-time application
Homepage