How To Take This Course and How To Get Help
Downloading the Source Code and PDFs
Java Development Environment Checkpoint
Spring Boot Initialzr Demo
Spring Boot - Create a REST Controller
Spring Framework Overview - Part 1
Spring Framework Overview - Part 2
Exploring Spring Boot Project Files - Part 1
Exploring Spring Boot Project Files - Part 2
Spring Boot Parents for Starters
Spring Boot Dev Tools - Overview
Spring Boot Dev Tools - Coding
Spring Boot Actuator - Overview
Spring Boot Actuator - Accessing Endpoints - Part 1
Spring Boot Actuator - Accessing Endpoints - Part 2
Spring Boot Actuator - Securing Endpoints - Overview
Spring Boot Actuator - Securing Endpoints - Coding
Run Spring Boot apps from the Command Line - Overview
Run Spring Boot apps from the Command Line - Prep
Run Spring Boot apps from the Command Line - Microsoft Windows
Run Spring Boot apps from the Command Line - macOS / Linux
Injecting Custom Application Properties - Overview
Injecting Custom Application Properties - Coding
Configuring the Spring Boot Server - Overview
Configuring the Spring Boot Server - Coding
What is Inversion of Control?
Defining Dependency Injection - Overview - Part 1
Defining Dependency Injection - Overview - Part 2
Constructor Injection - Coding - Part 1
Constructor Injection - Coding - Part 2
Constructor Injection - Behind the Scenes
Component Scanning - Overview
Component Scanning - Coding - Part 1
Component Scanning - Coding - Part 2
Setter Injection - Overview
Setter Injection - Coding
Qualifiers - Coding - Part 1
Qualifiers - Coding - Part 2
Lazy Initialization - Overview
Lazy Initialization - Coding - Part 1
Lazy Initialization - Coding - Part 2
Bean Lifecycle Methods - Overview
Bean Lifecycle Methods - Coding
Special Note about Prototype Scope - Destroy Lifecycle Method and Lazy Init
Java Config Bean - Overview
Java Config Bean - Coding - Part 1
Java Config Bean - Coding - Part 2
Setting Up Development Environment
Setting Up Database Table - Overview
Setting Up Database Table - Coding
Setting Up Spring Boot Project - Overview
Setting Up Spring Boot Project - Coding - Part 1
Setting Up Spring Boot Project - Coding - Part 2
JPA Annotations - Overview
Saving a Java Object with JPA - Overview
Saving a Java Object with JPA - Coding - Part 1
Saving a Java Object with JPA - Coding - Part 2
Changing Index of MySQL Auto Increment
Reading Objects with JPA - Overview
Reading Objects with JPA - Coding
Querying Objects with JPA - Overview
Querying Objects with JPA - Coding - Part 1
Querying Objects with JPA - Coding - Part 2
Updating Objects with JPA - Overview
Updating Objects with JPA - Coding
Deleting Objects with JPA - Overview
Deleting Objects with JPA - Coding - Part 1
Deleting Objects with JPA - Coding - Part 2
Create Database Tables from Java Code - Overview
Create Database Tables from Java Code - Coding - Part 1
Create Database Tables from Java Code - Coding - Part 2
What Are REST Services - Part 1
What Are REST Services - Part 2
Spring Boot REST HTTP Basics
Spring Boot REST Controller - Overview - Part 1
Spring Boot REST Controller - Overview - Part 2
Spring Boot Rest Controller - Coding
JSON Jackson Data Binding
Spring Boot REST POJO - Overview
Spring Boot REST POJO - Coding - Part 1
Spring Boot REST POJO - Coding - Part 2
Spring Boot REST Path Variables - Overview
Spring Boot REST Path Variables - Coding - Part 1
Spring Boot REST Path Variables - Coding - Part 2
Spring Boot REST Exception Handling - Overview - Part 1
Spring Boot REST Exception Handling - Overview - Part 2
Spring Boot REST Exception Handling - Coding - Part 1
Spring Boot REST Exception Handling - Coding - Part 2
Spring Boot REST Exception Handling - Coding - Part 3
Spring Boot REST Exception Handling - Coding - Part 4
Spring Boot REST Global Exception Handling - Overview
Spring Boot REST Global Exception Handling - Coding
Spring Boot REST API Design - Best Practices
Spring Boot REST API Design - API Design of Real-Time Projects
Spring Boot REST Project Overview
Spring Boot REST Setup Sample Data
Spring Boot REST Create Project
Spring Boot REST DAO - Coding - Part 1
Spring Boot REST DAO - Coding - Part 2
Spring Boot REST DAO - Coding - Part 3
Spring Boot Define Service Layer - Overview
Spring Boot Define Service Layer - Coding
Spring Boot DAO: Add Update Delete - Overview
Spring Boot DAO: Add Update Delete - Coding
Spring Boot Service: Add Update Delete - Coding
Spring Boot REST: Get Single Employee - Coding
Spring Boot REST: Add Employee - Coding
Spring Boot REST: Update Employee - Coding
Spring Boot REST: Delete Employee - Coding
Spring Boot REST: Spring Data JPA - Overview
Spring Boot REST: Spring Data JPA - Coding - Part 1
Spring Boot REST: Spring Data JPA - Coding - Part 2
Spring Boot REST: Spring Data REST - Overview
Spring Boot REST: Spring Data REST - Coding - Part 1
Spring Boot REST: Spring Data REST - Coding - Part 2
Spring Boot REST: Spring Data REST Configs and Sorting - Overview
Spring Boot REST: Spring Data REST Configs and Sorting - Coding
Spring Boot REST API Security Overview
Spring Boot REST API Security - Coding - Part 1
Spring Boot REST API Security - Coding - Part 2
Spring Boot REST API Security - Basic Configuration - Overview
Spring Boot REST API Security - Basic Configuration - Coding
Spring Boot REST API Security - Restrict URLs based on Roles - Overview
Spring Boot REST API Security - Restrict URLs based on Roles - Coding - Part 1
Spring Boot REST API Security - Restrict URLs based on Roles - Coding - Part 2
Spring Boot REST API Security - Restrict URLs based on Roles - Coding - Part 3
Spring Boot REST API Security - JDBC Authentication - Plain Text - Overview
Spring Boot REST API Security - JDBC Authentication - Plain Text - Coding Part 1
Spring Boot REST API Security - JDBC Authentication - Plain Text - Coding Part 2
Spring Boot REST API Security - JDBC Authentication - Plain Text - Coding Part 3
Spring Boot REST API Security - BCrypt Encryption - Overview - Part 1
Spring Boot REST API Security - BCrypt Encryption - Overview - Part 2
Spring Boot REST API Security - BCrypt Encryption - Coding
Spring Boot REST API Security - JDBC Authentication - Custom Tables - Overview
Spring Boot REST API Security -Custom Tables - Coding - Part 1
Spring Boot REST API Security -Custom Tables - Coding - Part 2
Spring Boot REST API Security -Custom Tables - Coding - Part 3
FAQ: Spring Boot REST API Security - Custom Tables with JPA/Hibernate
Spring Boot - Spring MVC with Thymeleaf - Overview
Spring Boot - Spring MVC with Thymeleaf - Coding - Part 1
Spring Boot - Spring MVC with Thymeleaf - Coding - Part 2
Spring Boot - Spring MVC with Thymeleaf and CSS - Overview
Spring Boot - Spring MVC with Thymeleaf and CSS - Coding
Spring Boot - Spring MVC Behind the Scenes
Spring Boot - Hello World Form and Model Overview
Spring Boot - Hello World Form and Model - Coding - Part 1
Spring Boot - Hello World Form and Model - Coding - Part 2
Spring Boot - Adding Data to Spring MVC Model - Overview
Spring Boot - Adding Data to Spring MVC Model - Coding - Part 1
Spring Boot - Adding Data to Spring MVC Model - Coding - Part 2
Spring Boot - Spring MVC Binding Request Params - Overview
Spring Boot - Spring MVC Binding Request Params - Coding
Spring Boot - GetMapping and PostMapping - Overview
Spring Boot - GetMapping and PostMapping - Coding - Part 1
Spring Boot - GetMapping and PostMapping - Coding - Part 2
Spring Boot - Spring MVC Form Data Binding - Text Fields - Overview
Spring Boot - Spring MVC Form Data Binding - Text Fields - Coding - Part 1
Spring Boot - Spring MVC Form Data Binding - Text Fields - Coding - Part 2
Spring Boot - Spring MVC Form Data Binding - Text Fields - Coding - Part 3
Spring Boot - Spring MVC Form Data Binding - Drop-Down Lists - Overview
Spring Boot - Spring MVC Form Data Binding - Drop-Down Lists - Coding - Part 1
Spring Boot - Spring MVC Form Data Binding - Drop-Down Lists - Coding - Part 2
Spring Boot - Spring MVC Form Data Binding - Radio Buttons - Overview
Spring Boot - Spring MVC Form Data Binding - Radio Buttons - Coding - Part 1
Spring Boot - Spring MVC Form Data Binding - Radio Buttons - Coding - Part 2
Spring Boot - Spring MVC Form Data Binding - Check Boxes - Overview
Spring Boot - Spring MVC Form Data Binding - Check Boxes - Coding - Part 1
Spring Boot - Spring MVC Form Data Binding - Check Boxes - Coding - Part 2
Spring Boot - Spring MVC Validation - Overview
Spring Boot - Spring MVC Validation - Setup Dev Environment
Spring Boot - Spring MVC Validation - Required Fields - Overview
Spring Boot - Spring MVC Validation - Required Fields - Coding - Part 1
Spring Boot - Spring MVC Validation - Required Fields - Coding - Part 2
Spring Boot - Spring MVC Validation - Required Fields - Coding - Part 3
Spring Boot - Spring MVC Validation - Required Fields - Coding - Part 4
Spring Boot - Spring MVC Validation - Required Fields - Coding - Part 5
Spring Boot - Spring MVC Validation - @InitBinder - Overview
Spring Boot - Spring MVC Validation - @InitBinder - Coding
Spring Boot - Spring MVC Validation - Validate a Number Range - Overview
Spring Boot - Spring MVC Validation - Validate a Number Range - Coding
Spring Boot - Spring MVC Validation - Applying Regular Expressions - Overview
Spring Boot - Spring MVC Validation - Applying Regular Expressions - Coding
Spring Boot - Spring MVC Validation - Make Integer Fields Required
Spring Boot - Spring MVC Validation - Strings for Int Fields and Custom Messages
Spring Boot - Spring MVC Validation - Debugging Tips for Custom Error Names
Spring Boot - Spring MVC Validation - Custom Validation - Overview - Part 1
Spring Boot - Spring MVC Validation - Custom Validation - Overview - Part 2
Spring Boot - Spring MVC Validation - Custom Validation - Coding - Part 1
Spring Boot - Spring MVC Validation - Custom Validation - Coding - Part 2
Spring Boot - Spring MVC Validation - Custom Validation - Coding - Part 3
Spring Boot - Spring MVC Validation - Custom Validation - Coding - Part 4
Spring Boot - Spring MVC Validation - Custom Validation - Coding - Part 5
CRUD Database Project - Overview
CRUD Database Project - Set up
CRUD Database Project - Get Employees - Coding - Part 1
CRUD Database Project - Get Employees - Coding - Part 2
CRUD Database Project - Get Employees - Coding - Part 3
CRUD Database Project - Get Employees - Coding - Part 4
CRUD Database Project - Add Employees - Overview
CRUD Database Project - Add Employee - Coding - Part 1
CRUD Database Project - Add Employee - Coding - Part 2
CRUD Database Project - Add Employee - Coding - Part 3
CRUD Database Project - Update Employee - Overview
CRUD Database Project - Update Employee - Coding
CRUD Database Project - Delete Employee - Overview
CRUD Database Project - Delete Employee - Coding
Spring MVC Security - Overview
Spring MVC Security - Demo
Spring MVC Security - Project Set Up - Part 1
Spring MVC Security - Project Set Up - Part 2
Spring MVC Security - Dev Testing with Private/Incognito Windows
Spring MVC Security - Basic Configuration - Overview
Spring MVC Security - Basic Configuration - Coding
Spring MVC Security - Custom Login Form - Overview - Part 1
Spring MVC Security - Custom Login Form - Overview - Part 2
Spring MVC Security - Custom Login Form - Coding - Part 1
Spring MVC Security - Custom Login Form - Coding - Part 2
Spring MVC Security - Custom Login Form - Coding - Part 3
Spring MVC Security - Login Form Error Message - Overview
Spring MVC Security - Login Form Error Message - Coding
Spring MVC Security - Custom Login Form with Bootstrap - Overview
Spring MVC Security - Custom Login Form with Bootstrap - Coding
Spring MVC Security - Logout - Overview
Spring MVC Security - Logout - Coding
Spring MVC Security - Display User ID and Roles - Overview
Spring MVC Security - Display User ID and Roles - Coding
Spring MVC Security - Restrict URLs Based on Roles - Overview
Spring MVC Security - Restrict URLs Based on Roles - Coding - Part 1
Spring MVC Security - Restrict URLs Based on Roles - Coding - Part 2
Spring MVC Security - Restrict URLs Based on Roles - Coding - Part 3
Spring MVC Security - Restrict URLs Based on Roles - Coding - Part 4
Spring MVC Security - Custom Access Denied Page - Overview
Spring MVC Security - Custom Access Denied Page - Coding - Part 1
Spring MVC Security - Custom Access Denied Page - Coding - Part 2
Spring MVC Security - Display Content Based on Roles - Overview
Spring MVC Security - Display Content Based on Roles - Coding - Part 1
Spring MVC Security - Display Content Based on Roles - Coding - Part 2
Spring MVC Security - JDBC Authentication - Plain Text - Overview
Spring MVC Security - JDBC Authentication - Plain Text - Coding - Part 1
Spring MVC Security - JDBC Authentication - Plain Text - Coding - Part 2
Spring MVC Security - JDBC Authentication - Plain Text - Coding - Part 3
Spring MVC Security - JDBC Authentication - Plain Text - Coding - Part 4
Spring MVC Security - JDBC Authentication - BCrypt Encryption - Overview Part 1
Spring MVC Security - JDBC Authentication - BCrypt Encryption - Overview Part 2
Spring MVC Security - JDBC Authentication - BCrypt Encryption - Coding
Spring MVC Security - JDBC Authentication - Custom Tables - Overview
Spring MVC Security - JDBC Authentication - Custom Tables - Coding - Part 1
Spring MVC Security - JDBC Authentication - Custom Tables - Coding - Part 2
FAQ: Spring MVC Security - Custom Tables with JPA/Hibernate
FAQ: Spring MVC Security - User Registration and Public Landing Page
JPA / Hibernate Advanced Mappings Overview - Part 1
JPA / Hibernate Advanced Mappings Overview - Part 2
@OneToOne Mapping Overview - Part 1
@OneToOne Mapping Overview - Part 2
@OneToOne Mapping Overview - Part 3
@OneToOne Mapping - Database Setup
@OneToOne Mapping - Set up Spring Boot Project - Part 1
@OneToOne Mapping - Set up Spring Boot Project - Part 2
@OneToOneMapping - Coding - Create InstructorDetail entity
@OneToOneMapping - Coding - Create Instructor entity
@OneToOneMapping - Coding - Create the DAO
@OneToOneMapping - Coding - Develop the Main App
@OneToOneMapping - Coding - Run the Main App
@OneToOneMapping - Find Instructor by ID
@OneToOneMapping - Delete Instructor by ID
@OneToOneMapping - Bi-Directional - Overview
@OneToOneMapping - Bi-Directional - Coding - Part 1
@OneToOneMapping - Bi-Directional - Coding - Part 2
@OneToOneMapping - Bi-Directional - Cascade Delete - Coding
@OneToOneMapping - Bi-Directional - Only Delete Instructor Details - Coding
@OneToMany - Overview - Part 1
@OneToMany - Overview - Part 2
@OneToMany - Coding - Set Up Database Tables
@OneToMany - Coding - Create Course entity
@OneToMany - Coding - Annotate Course entity
@OneToMany - Coding - Annotate Instructor entity
@OneToMany - Coding - Create Main App
@OneToMany - Coding - Finish Main App and Run It!
@OneToMany - Fetch Types: Eager vs Lazy - Overview - Part 1
@OneToMany - Fetch Types: Eager vs Lazy - Overview - Part 2
@OneToMany: Fetch Types - Eager vs Lazy - Coding
@OneToMany: Lazy Find Courses - Overview
@OneToMany: Lazy Find Courses - Coding - Part 1
@OneToMany: Lazy Find Courses - Coding - Part 2
@OneToMany - JOIN FETCH Courses - Overview
@OneToMany - JOIN FETCH Courses - Coding - Part 1
@OneToMany - JOIN FETCH Courses - Coding - Part 2
@OneToMany - Update Instructor
@OneToMany - Update Course
@OneToMany - Delete Instructor
@OneToMany - Delete Course
@OneToMany - Uni-Directional - Overview
@OneToMany - Uni-Directional - Coding - Database Set Up
@OneToMany - Uni-Directional - Coding - Create Review Entity
@OneToMany - Uni-Directional - Coding - Refactor Course Entity
@OneToMany - Uni-Directional - Coding - Update DAO and Main App
@OneToMany - Uni-Directional - Coding - Retrieve Course and Reviews
@OneToMany - Uni-Directional - Coding - Delete Course and Reviews
@ManyToMany - Overview - Part 1
@ManyToMany - Overview - Part 2
@ManyToMany - Coding - Set up Database Tables
@ManyToMany - Coding - Set up Spring Boot Project
@ManyToMany - Coding - Create Student entity
@ManyToMany - Coding - Map Course to Student
@ManyToMany - Coding - Map Student to Course
@ManyToMany - Coding - Create Course and Students
@ManyToMany - Coding - Find Course and Students
@ManyToMany - Coding - Find Student and Courses
@ManyToMany - Coding - Add More Courses to Students
@ManyToMany - Coding - Delete Course
@ManyToMany - Coding - Delete Student
AOP - The Business Problem
AOP Solution and AOP Use Cases
AOP Concepts and Terminology
Comparing Spring AOP and AspectJ - Part 1
Comparing Spring AOP and AspectJ - Part 2
AOP - @Before Advice - Overview - Part 1
AOP - @Before Advice - Overview - Part 2
AOP - @Before Advice - Coding - AOP Project Set Up
AOP - @Before Advice - Coding - Create Target Object - AccountDAO
AOP - @Before Advice - Coding - Create Aspect
AOP - @Before Advice - Test the AOP Aspect
AOP - Pointcut Expressions - Overview
AOP - Pointcut Expressions - Coding - Match any addAccount Method - Part 1
AOP - Pointcut Expressions - Coding - Match any addAccount Method - Part 2
AOP - Pointcut Expressions - Coding - Match only AccountDAO addAccount
AOP - Pointcut Expressions - Coding - Match any add* Method
AOP - Pointcut Expressions - Coding - Match any Return Type
AOP - Pointcut Expressions - Overview - Match on Method Parameters
AOP - Pointcut Expressions - Coding - Match Method Parameter Types
AOP - Pointcut Expressions - Coding - Match Method with Account and more Params
AOP - Pointcut Expressions - Coding - Match Method with Any Params
AOP - Pointcut Expressions - Coding - Match Any Method in a Package
AOP: Pointcut Declarations - Overview
AOP: Pointcut Declarations - Coding - Part 1
AOP: Pointcut Declarations - Coding - Part 2
AOP: Combining Pointcuts - Overview
AOP: Combining Pointcuts - Coding - Part 1
AOP: Combining Pointcuts - Coding - Part 2
AOP: Ordering Aspects - Overview
AOP: Ordering Aspects - Coding - Part 1
AOP: Ordering Aspects - Coding - Part 2
AOP: Ordering Aspects - Coding - Part 3
AOP: Read Method Arguments with JoinPoints - Overview
AOP: Read Method Arguments with JoinPoints - Coding - Part 1
AOP: Read Method Arguments with JoinPoints - Coding - Part 2
AOP: @AfterReturning Advice - Overview
AOP: @AfterReturning Advice - Coding - Part 1
AOP: @AfterReturning Advice - Coding - Part 2
AOP: @AfterReturning Advice - Coding - Part 3
AOP: @AfterReturning Advice - Modify Return Value - Overview
AOP: @AfterReturning Advice - Modify Return Value - Coding
AOP: @AfterThrowing Advice - Overview
AOP: @AfterThrowing Advice - Coding - Part 1
AOP: @AfterThrowing Advice - Coding - Part 2
AOP: @After Advice - Overview
AOP: @After Advice - Coding
AOP: @Around Advice - Overview
AOP: @Around Advice - Coding - Part 1
AOP: @Around Advice - Coding - Part 2
AOP: @Around Advice - Coding - Part 3
@Around Advice - Handle Exception - Overview
@Around Advice - Handle Exception - Coding - Part 1
@Around Advice - Handle Exception - Coding - Part 2
AOP: @Around Advice - Rethrow Exception
AOP: Integrating AOP with Spring MVC CRUD App - Overview
AOP: Integrating AOP with Spring MVC CRUD App - Coding - Part 1
AOP: Integrating AOP with Spring MVC CRUD App - Coding - Part 2
AOP: Integrating AOP with Spring MVC CRUD App - Coding - Part 3
AOP: Integrating AOP with Spring MVC CRUD App - Coding - Part 4
AOP: Integrating AOP with Spring MVC CRUD App - Coding - Part 5