Spring & Hibernate for Beginners (includes Spring Boot)

Spring & Hibernate for Beginners (includes Spring Boot)

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 568 lectures (42h 24m) | 20.4 GB

Spring 5: Learn Spring 5 Core, AOP, Spring MVC, Spring Security, Spring REST, Spring Boot 2, Thymeleaf, JPA & Hibernate

This course covers the LATEST VERSIONS of Spring 5 and Hibernate 5! The course also includes Spring Boot and Spring Data JPA

Build a complete Spring MVC + Hibernate CRUD web app … all from scratch! (real-time project)

You will learn about: Spring Core, AOP, Spring MVC, Spring Security, Spring REST, Spring Boot, Spring Data JPA, Spring Data REST, Thymeleaf and Hibernate … all connected to a MySQL database

By the end of this course, you will create all of the source code for a complete Spring MVC – Hibernate CRUD real-time project.

You will also develop Spring REST APIs for a full CRUD REST API real-time project.

You will type in every line of code with me in the videos … all from scratch.

I explain every line of code that we create. So this isn’t a copy/paste exercise, you will have a full understanding of the code.

You Will Learn How To

Spring Core

  • Build a complete Spring MVC and Hibernate CRUD Project … all from scratch
  • Set up your Spring and Hibernate development environment with Tomcat and Eclipse
  • Wire beans together in the Spring container using Inversion of Control
  • Configure the Spring container for Dependency Injection
  • Define Spring Beans using the @Component annotation
  • Perform auto-scanning of Spring beans to minimize configuration
  • Automatically wire beans together using @Autowired annotation
  • Apply all Java configuration to Spring Beans (no xml)

Spring MVC

  • Set up your Spring MVC environment with configs and directories
  • Create controllers using @Controller annotation
  • Read HTML form data using @RequestParam
  • Leverage Spring MVC model to transport data between controller and view page
  • Define Request Mappings for GET and POST requests
  • Minimize coding with Spring MVC Form data binding
  • Apply Spring MVC form validation on user input
  • Create custom Spring MVC form validation rules

Hibernate

  • Perform object/relational mapping with Hibernate
  • Leverage the Hibernate API to develop CRUD apps
  • Develop queries using the Hibernate Query Language (HQL)
  • Apply advanced Hibernate mappings: one-to-one, one-to-many and many-to-many
  • Create a real-time project using Spring and Hibernate together in a Real-Time Project

Spring AOP

  • Apply Aspect-Oriented-Programming AOP for cross-cutting concerns
  • Examine AOP use-cases and how AOP can resolve code-tangling
  • Create AOP pointcut expressions to match on method invocations
  • Leverage AOP annotations: @Before, @After, @AfterReturning, @AfterThrowing, @Around
  • Create a real-time project using AOP and Spring MVC together in a Real-Time Project

Spring Security

  • Secure your web application with Spring Security
  • Set up your Maven pom.xml file with compatible Spring Security dependencies
  • Configure Spring Security with all Java configuration (no xml)
  • Create custom Spring Security login pages with Bootstrap CSS
  • Add logout support using default features of Spring Security
  • Leverage Spring Security support for Cross Site Request Forgery (CSRF)
  • Define users and roles for authentication
  • Display user login info and role using Spring Security tags
  • Restrict access to URLs based on user role
  • Hide and Display content based on user role
  • Add JDBC authentication, store user accounts and passwords in the database
  • Store encrypted passwords in the database using bcrypt
  • Register new users and encrypt passwords using Java code
  • Create a Spring Security Real-Time Project using authorization, authentication and database encryption

Spring REST Web Services – Spring REST APIs

  • Overview of REST Web Services – REST APIs
  • Investigating Spring REST support
  • Sending JSON data over HTTP
  • JSON Data Binding with the Jackson project
  • Converting JSON data to Java POJO with Jackson
  • Processing nested JSON objects and JSON arrays
  • Developing a Spring REST API
  • Setting up a Spring REST project with Maven
  • Creating the Spring REST Controller using @RestController
  • Running the Spring REST Controller with Eclipse and Tomcat
  • Testing Spring REST Web Services with Postman
  • Parameterize REST API endpoints using @PathVariable
  • Add Spring REST exception handling with @ExceptionHandler
  • Integrate global REST exception handling with @ControllerAdvice
  • Leverage ResponseEntity for fine-grained control of Spring REST HTTP response
  • Build REST API to execute CRUD actions on the Database with Hibernate
  • Create a Real-Time Project using REST API with full database CRUD

Spring Boot

  • What is Spring Boot?
  • Creating a Project with Spring Boot Initializr
  • Develop a REST API Controller with Spring Boot
  • Explore the Spring Boot Project Structure
  • Leverage Spring Boot Starters – A Curated List of Dependencies
  • Inherit Defaults with Spring Boot Starter Parents
  • Automatically Restart with Spring Boot Dev Tools
  • Add DevOps functionality with Spring Boot Actuator Endpoints
  • Secure Spring Boot Actuator Endpoints
  • Run Spring Boot apps from the Command-Line
  • Use the Spring Boot Maven Plugin to package and run Spring Boot apps
  • Inject custom application properties into a Spring Boot REST Controller

Spring Boot REST API CRUD

  • Develop a REST API Controller with Spring Boot with full CRUD support
  • Configure Spring Boot Data Source for MySQL Database
  • Create DAO implementations using JPA Entity Manager
  • Apply Best Practices by integrating a Service Layer
  • Expose REST API endpoints in Controller code (GET, POST, PUT and DELETE)
  • Access the REST API using Postman
  • Add support for Standard JPA API
  • Learn the benefits of the JPA API in Spring Boot applications

Spring Boot and Spring Data JPA

  • Minimize boilerplate code with Spring Data JPA and the JpaRepository
  • Refactor existing REST API to integrate with Spring Data JPA
  • Leverage new features of the the Java Optional pattern with JpaRepository
  • Test the Spring Data JPA repository with Postman

Spring Boot and Spring Data REST

  • Accelerate your development process with Spring Data REST
  • Leverage Spring Data REST to eliminate custom code for controllers and service
  • Automatically expose REST endpoints for your JPA Repositories
  • Customize REST base path endpoints
  • Apply pagination and sorting to REST API endpoints
  • Configure default page sizes for REST APIs
  • Investigate HATEOAS compliant REST responses
  • Test Spring Data REST with Postman

Spring Boot and Thymeleaf

  • Develop view templates with Thymeleaf in Spring Boot projects
  • Compare the functionality of Thymeleaf to JSP
  • Examine the auto-configuration of Thymeleaf in Spring Boot projects
  • Create a Spring Boot project with Thymeleaf using the Spring Initializer website
  • Develop a Spring MVC Controller and a Thymeleaf template
  • Leverage Thymeleaf expressions to access data from the Spring MVC Model
  • Apply CSS stylesheets to your Thymeleaf templates

Maven

  • Simplify your build process with Maven
  • Create Maven POM files and add dependencies
  • Search Central Maven repository for Dependency Coordinates
  • Run Maven builds from the Eclipse IDE
  • Use Maven during the development of Real-Time Projects for Spring MVC, Spring Security, Spring REST and Hibernate.
Table of Contents

Course Introduction
1 Introduction
2 Practice Activities – Overview
3 How To Take This Course and How To Get Help
4 Downloading the Source Code and PDF Files
5 Closed Captions and Subtitles Available

Spring Overview
6 Why Spring – part 1
7 Why Spring – part 2
8 Spring 5 Update
9 Spring Core Framework – Part 1
10 Spring Core Framework – Part 2
11 Spring Platform

Setting Up Your Development Environment
12 Dev Environment Overview
13 Installing Tomcat
14 Installing Eclipse
15 Connecting Tomcat to Eclipse
16 Downloading Spring 5 JAR Files – Overview
17 Downloading Spring 5 JAR files – Installation

Spring Inversion of Control – XML Configuration
18 What is Inversion of Control
19 Code Demo – Rough Prototype Part 1
20 Code Demo – Rough Prototype Part 2
21 Spring Inversion of Control – Overview
22 FAQ What is a Spring Bean
23 Spring Inversion of Control – Write Some Code – Part 1
24 Spring Inversion of Control – Write Some Code – Part 2
25 HEADS UP – Add Logging Messages in Spring 5.1
26 FAQ Why do we specify the Coach interface in getBean()
27 Practice Activity #1 – Inversion of Control with XML Configuration

Spring Dependency Injection – XML Configuration
28 Spring Dependency Injection – Overview
29 Spring Dependency Injection – Behind the Scenes
30 Spring Dependency Injection – Write Some Code – Part 1
31 Spring Dependency Injection – Write Some Code – Part 2
32 Spring Dependency Injection – Write Some Code – Part 3
33 FAQ What is the purpose for the no arg constructor
34 Setter Injection – Overview
35 Setter Injection – Write Some Code – Part 1
36 Setter Injection – Write Some Code – Part 2
37 Injecting Literal Values – Overview
38 Injecting Literal Values – Write Some Code
39 FAQ Why do we use CricketCoach class instead of Coach Interface
40 Injecting Values from a Properties File – Overview
41 Injecting Values from a Properties File – Write Some Code
42 Practice Activity #2 – Dependency Injection with XML Configuration

Spring Bean Scopes and Lifecycle
43 Bean Scopes – Overview
44 Bean Scopes – Write Some Code – Part 1
45 Bean Scopes – Write Some Code – Part 2
46 Bean Lifecycle – Overview
47 Special Note Defining init and destroy methods – Method Signatures
48 Bean Lifecycle – Write Some Code
49 Special Note about Destroy Lifecycle and Prototype Scope
50 Practice Activity #3 – Bean Scopes with XML Configuration

Spring Configuration with Java Annotations – Inversion of Control
51 Annotations Overview – Component Scanning
52 Annotations Project Setup
53 Explicit Component Names – Write Some Code – Part 1
54 Explicit Component Names – Write Some Code – Part 2
55 Default Component Names – Overview
56 Default Component Names – Write Some Code
57 Practice Activity #4 – Inversion of Control with Annotations

Spring Configuration with Java Annotations – Dependency Injection
58 Constructor Injection – Overview
59 Autowiring FAQ What if there are Multiple Implementations
60 Constructor Injection – Write Some Code – Part 1
61 Constructor Injection – Write Some Code – Part 2
62 FAQ Constructor Injection – Autowired Optional
63 Setter Injection – Overview
64 Setter Injection – Write Some Code
65 Method Injection
66 Field Injection – Overview
67 Field Injection – Write Some Code
68 Which Injection Type Should You Use
69 Qualifiers for Dependency Injection – Overview
70 Qualifiers for Dependency Injection – Write Some Code – Part 1
71 Qualifiers for Dependency Injection – Write Some Code – Part 2
72 Annotations – Default Bean Names – The Special Case
73 Using @Qualifier with Constructors
74 FAQ How to inject properties file using Java annotations
75 Practice Activity #5 – Dependency Injection with Annotations

Spring Configuration with Java Annotations – Bean Scopes and Lifecycle Methods
76 @Scope Annotation – Overview
77 @Scope Annotation – Write Some Code
78 Bean Lifecycle Method Annotations – Overview
79 Special Note about @PostConstruct and @PreDestroy Method Signatures
80 HEADS UP – FOR JAVA 9 USERS – @PostConstruct and @PreDestroy
81 Bean Lifecycle Method Annotations – Write Some Code
82 Special Note about Destroy Lifecycle and Prototype Scope
83 Practice Activity #6 – Bean Scopes with Annotations

Spring Configuration with Java Code (no xml)
84 Spring Configuration with Java Code (no xml) – Overview
85 Spring Configuration with Java Code (no xml) – Write Some Code
86 Heads Up – Add Logging Messages in Spring 5.1 – All Java Config Version
87 Defining Spring Beans with Java Code (no xml) – Overview
88 Defining Spring Beans with Java Code (no xml) – Write Some Code – Part 1
89 Defining Spring Beans with Java Code (no xml) – Write Some Code – Part 2
90 FAQ How @Bean works behind the scenes
91 FAQ What is a real-time use case for @Bean
92 Injecting Values from Properties File – Overview
93 Injecting Values from Properties File – Write Some Code – Part 1
94 Injecting Values from Properties File – Write Some Code – Part 2
95 FAQ Problems with Injecting Values – Value not returning from ${foo.email}
96 Practice Activity #7 – IoC and DI with Java Configuration

Spring MVC – Building Spring Web Apps
97 Spring MVC Overview
98 Spring MVC – Behind the Scenes
99 Development Environment Checkpoint
100 Download Spring MVC Starter Files
101 Spring MVC Configuration – Overview
102 Spring MVC Configuration – JAR Files
103 Spring MVC Configuration – Config Files
104 FAQ How to configure the Spring Dispatcher Servlet using all Java Code (no xml)

Spring MVC – Creating Controllers and Views
105 Creating a Spring Home Controller and View – Overview
106 Creating a Spring Home Controller and View – Write Some Code – Part 1
107 Creating a Spring Home Controller and View – Write Some Code – Part 2
108 FAQ HELP! My Spring MVC Controller is not working. What to do
109 FAQ HELP! – Can’t Start Tomcat – Ports are in Use!
110 FAQ How Does Component Scan Work – Your Package Names are Different!
111 Reading HTML Form Data – Overview
112 Reading HTML Form Data – Write Some Code – Part 1
113 Reading HTML Form Data – Write Some Code – Part 2
114 Reading HTML Form Data – Write Some Code – Part 3
115 Adding Data to the Spring Model – Overview
116 Adding Data to the Spring Model – Write Some Code – Part 1
117 Adding Data to the Spring Model – Write Some Code – Part 2
118 FAQ How to use CSS, JavaScript and Images in Spring MVC Web App
119 FAQ Deploying To Tomcat using WAR files

Spring MVC – Request Params and Request Mappings
120 Binding Request Params – Overview
121 Binding Request Params – Write Some Code
122 Controller Level Request Mapping – Overview
123 Controller Level Request Mapping – Write Some Code – Part 1
124 Controller Level Request Mapping – Write Some Code – Part 2
125 FAQ How does processForm work for hello

Spring MVC – Form Tags and Data Binding
126 Spring MVC Form Tags Overview
127 Text Fields – Overview
128 Text Fields – Write Some Code – Part 1
129 Text Fields – Write Some Code – Part 2
130 Text Fields – Write Some Code – Part 3
131 Drop-Down Lists – Overview
132 Drop-Down Lists – Write Some Code – Part 1
133 Drop-Down Lists – Write Some Code – Part 2
134 FAQ Use properties file to load country options
135 Radio Buttons – Overview
136 Radio Buttons – Write Some Code
137 FAQ How to populate radiobuttons with items from Java class
138 Checkboxes – Overview
139 Checkboxes – Write Some Code – Part 1
140 Checkboxes – Write Some Code – Part 2

Spring MVC Form Validation – Applying Built-In Validation Rules
141 Spring MVC Form Validation Overview
142 Setting Up Dev Environment for Form Validation
143 Installing Validation Files
144 Checking for Required Fields Overview
145 Special Note about BindingResult Parameter Order
146 Add Validation Rule to Customer Class
147 Display Validation Error Messages on HTML Form
148 Perform Validation in Controller Class – Part 1
149 Perform Validation in Controller Class – Part 2
150 Update Confirmation Page
151 Test the Validation Rule for Required Fields
152 Add Pre-processing Code with @InitBinder – Write Some Code

Spring MVC Form Validation – Validating Number Ranges and Regular Expressions
153 Validating a Number Range – Overview
154 Validating a Number Range – Write Some Code
155 Applying Regular Expressions – Overview
156 Applying Regular Expressions – Write Some Code
157 How to make Integer Field Required freePasses
158 How to Handle String input for Integer Fields – Custom Message
159 How to Handle String input for Integer Fields – Configure Resource Bundle
160 How to Handle String input for Integer Fields – Deep Dive
161 FAQ How to make Integer field required and handle Strings freePasses

Spring MVC Form Validation – Creating Custom Validation Rules
162 Custom Form Validation – Overview – Part 1
163 Custom Form Validation – Overview – Part 2
164 Creating a Custom Java Annotation – Part 1
165 Creating a Custom Java Annotation – Part 2
166 Developing the ConstraintValidator
167 Adding Validation Rule to the Entity and Form
168 Testing the Custom Validation Rule
169 FAQ Spring MVC Custom Validation – Possible to validate with multiple strings

Introduction to Hibernate
170 Hibernate Overview
171 Hibernate and JDBC

Setting Up Hibernate Development Environment
172 Hibernate 5.2 Requires Java 8
173 Hibernate Development Environment Overview
174 Installing MySQL on MS Windows
175 Installing the MySQL Database on Mac
176 Setting Up Database Table
177 Setting up Hibernate in Eclipse
178 Testing Your JDBC Connection

Hibernate Configuration with Annotations
179 Hibernate Development Process Overview
180 Creating the Hibernate Configuration File
181 Hibernate Annotations – Part 1
182 HEADS UP – FOR JAVA 9 USERS
183 HEADS UP – JAVA 9 USERS – Eclipse Generate toString() fails
184 Hibernate Annotations – Part 2
185 FAQ Why we are using JPA Annotation instead of Hibernate
186 FAQ Can Hibernate generate database tables based on the Java code

Hibernate CRUD Features Create, Read, Update and Delete
187 Creating and Saving Java Objects – Part 1
188 Creating and Saving Java Objects – Part 2
189 Primary Keys – Overview
190 Primary Keys – Write Some Code
191 Primary Keys – Changing the Starting Index
192 Reading Objects with Hibernate
193 Querying Objects with Hibernate – Overview
194 Special Note about Deprecated Method in Hibernate 5.2
195 Querying Objects with Hibernate – Write Some Code – Part 1
196 Querying Objects with Hibernate – Write Some Code – Part 2
197 FAQ How To View Hibernate SQL Parameter Values
198 Updating Objects with Hibernate – Overview
199 Updating Objects with Hibernate – Write Some Code
200 Deleting Objects with Hibernate – Overview
201 Deleting Objects with Hibernate – Write Some Code
202 Practice Activity #8 – Hibernate Development
203 FAQ How to read Dates with Hibernate

Hibernate Advanced Mappings
204 Advanced Mappings Overview
205 Database Concepts

Hibernate Advanced Mappings – @OneToOne
206 @OneToOne – Overview – Part 1
207 @OneToOne – Overview – Part 2
208 @OneToOne – Overview – Part 3
209 @OneToOne – Run Database Scripts
210 @OneToOne – Write Some Code – Prep Work
211 @OneToOne – Write Some Code – Create InstructorDetail class
212 @OneToOne – Write Some Code – Create Instructor class
213 @OneToOne – Write Some Code – Build Main App – Part 1
214 @OneToOne – Write Some Code – Build Main App – Part 2
215 @OneToOne – Delete an Entity
216 @OneToOne – Bi-Directional Overview
217 @OneToOne – Bi-Directional – Create Relationship
218 @OneToOne – Bi-Directional – Develop Main App
219 @OneToOne – Refactoring and Exception Handling
220 @OneToOne – Bi-Directional – Cascade Delete
221 @OneToOne – Bi-Directional – Delete Only InstructorDetail – Part 1
222 @OneToOne – Bi-Directional – Delete Only InstructorDetail – Part 2

Hibernate Advanced Mappings – @OneToMany
223 @OneToMany – Bi-Directional Overview – Part 1
224 @OneToMany – Bi-Directional Overview – Part 2
225 @OneToMany – Bi-Directional – Database Prep Work
226 @OneToMany – Bi-Directional – Create Course Mapping
227 @OneToMany – Bi-Directional – Define Course Relationship
228 @OneToMany – Bi-Directional – Update Instructor
229 @OneToMany – Bi-Directional – Add Instructor to Database
230 @OneToMany – Bi-Directional – Create Courses for Instructor
231 @OneToMany – Bi-Directional – Retrieve Instructor Courses
232 @OneToMany – Bi-Directional – Delete a Course

Hibernate Advanced Mappings – Eager vs Lazy Loading
233 Eager vs Lazy Loading – Overview – Part 1
234 Eager vs Lazy Loading – Overview – Part 2
235 Eager vs Lazy Loading – Coding – Eager
236 Eager vs Lazy Loading – Coding – Lazy
237 Eager vs Lazy Loading – Coding – Closing the Session
238 Eager vs Lazy Loading – Coding – Resolve Lazy Loading Issue
239 Eager vs Lazy Loading – Coding – HQL JOIN FETCH
240 FAQ How to load the courses at a later time in the application

Hibernate Advanced Mappings – @OneToMany – Unidirectional
241 @OneToMany – Uni-Directional – Overview – Part 1
242 @OneToMany – Uni-Directional – Overview – Part 2
243 FAQ @JoinColumn … where does it find the column
244 @OneToMany – Uni-Directional – Set up database tables
245 @OneToMany – Uni-Directional – Create Review Class
246 @OneToMany – Uni-Directional – Configure Fetch Type
247 @OneToMany – Uni-Directional – Create Course Reviews
248 @OneToMany – Uni-Directional – Get Course Reviews
249 @OneToMany – Uni-Directional – Delete Course Reviews

Hibernate Advanced Mappings – @ManyToMany
250 @ManyToMany – Overview – Part 1
251 @ManyToMany – Overview – Part 2
252 @ManyToMany – Set up database tables
253 @ManyToMany – Update Course class
254 @ManyToMany – Configure Course for many-to-many
255 @ManyToMany – Configure Student for many-to-many
256 @ManyToMany – Create a Main App
257 @ManyToMany – Review app output
258 @ManyToMany – Add more courses for a student
259 @ManyToMany – Verify Data in Join Table
260 @ManyToMany – Get Courses for Student
261 @ManyToMany – Delete a Course
262 @ManyToMany – Delete a Student

Build a Database Web App – Spring MVC and Hibernate Project – Part 1
263 Project Overview and Demo
264 Source Files for Spring MVC + Hibernate Web App
265 Set up Sample Data for Database
266 Test Database Connection – Part 1
267 Test Database Connection – Part 2
268 Set Up Dev Environment – Part 1
269 HEADS UP – FOR JAVA 9 and higher USERS – Spring MVC CRUD
270 Set Up Dev Environment – Part 2
271 Set Up Dev Environment – Part 3
272 Test Spring MVC Controller – Part 1
273 Test Spring MVC Controller – Part 2

Build a Database Web App – Spring MVC and Hibernate Project – Part 2
274 List Customers – Overview
275 List Customers – Overview of Development Process
276 List Customers – Creating Hibernate Entity – Part 1
277 List Customers – Creating Hibernate Entity – Part 2
278 List Customers – Developing Hibernate DAO – Overview – Part 1
279 List Customers – Developing Hibernate DAO – Overview – Part 2
280 List Customers – Developing Hibernate DAO – Write Some Code – Part 1
281 List Customers – Developing Hibernate DAO – Write Some Code – Part 2
282 List Customers – Injecting DAO into Controller
283 List Customers – Developing JSP View Page
284 Making it Pretty with CSS – Overview
285 Making it Pretty with CSS – Write Some Code – Part 1
286 Making it Pretty with CSS – Write Some Code – Part 2
287 Adding a Welcome File

Build a Database Web App – Spring MVC and Hibernate Project – Part 3
288 Refactor @GetMapping and @PostMapping – Overview
289 Refactor @GetMapping and @PostMapping – Write Some Code
290 Refactor Add a Service Layer – Overview
291 Refactor Add a Service Layer – Write Some Code – Part 1
292 Refactor Add a Service Layer – Write Some Code – Part 2
293 FAQ Why So Many Layers Service Layer etc
294 FAQ Can you show example of Service calling Multiple DAOs

Build a Database Web App – Spring MVC and Hibernate Project – Part 4
295 Add Customer – Overview
296 Add Customer – Setting up the Add Button – Part 1
297 Add Customer – Setting up the Add Button – Part 2
298 Add Customer – Creating the HTML Form – Part 1
299 Add Customer – Creating the HTML Form – Part 2
300 Add Customer – Creating the HTML Form – Part 3
301 Add Customer – Save to Database – Part 1
302 Add Customer – Save to Database – Part 2
303 Sort Customer Data

Build a Database Web App – Spring MVC and Hibernate Project – Part 5
304 Update Customer – Overview
305 Update Customer – Creating Update Link
306 Update Customer – Prepopulating the Form – Part 1
307 Update Customer – Prepopulating the Form – Part 2
308 Update Customer – Prepopulating the Form – Part 3
309 Update Customer – Save Customer to Database – Part 1
310 Update Customer – Save Customer to Database – Part 2

Build a Database Web App – Spring MVC and Hibernate Project – Part 6
311 Delete Customer – Overview
312 Delete Customer – Creating Delete Link – Part 1
313 Delete Customer – Creating Delete Link – Part 2
314 Delete Customer – Delete from Database – Part 1
315 Delete Customer – Delete from Database – Part 2
316 Delete Customer – Delete from Database – Part 3
317 FAQ How to Add Search support
318 FAQ How to Add Sorting support
319 FAQ How to use customer-tracker project with All Java Configuration and Maven

AOP Aspect-Oriented Programming Overview
320 AOP – The Business Problem
321 AOP Solution and AOP Use Cases
322 Comparing Spring AOP and AspectJ

AOP @Before Advice Type
323 AOP @Before Advice Overview
324 AOP AOP Project Setup
325 AOP @Before Advice – Write Some Code
326 AOP @Before Advice – Add and Test AOP Aspect

AOP Pointcut Expressions – Match Methods and Return Types
327 AOP – Pointcut Expressions Overview
328 AOP – Pointcut Expressions – Match any addAccount Method – Part 2
329 AOP – Pointcut Expressions – Match only DAO addAccount – Match any add Method
330 AOP – Pointcut Expressions – Match any Return Type

AOP Pointcut Expressions – Match Method Parameter Types
331 AOP Pointcut Expressions – Match Method Parameter Types Overview
332 AOP Pointcut Expressions – Match Method with Account and more Params
333 AOP Pointcut Expressions – Match Method Any Params – Match Method in a Package

AOP Pointcut Declarations
334 AOP Pointcut Declarations – Overview
335 AOP Pointcut Declarations – Write Some Code
336 AOP Combining Pointcuts – Overview
337 AOP Combining Pointcuts – Write Some Code – Part 1
338 AOP Combining Pointcuts – Write Some Code – Part 2

AOP Ordering Aspects
339 AOP Ordering Aspects – Overview
340 AOP Ordering Aspects – Write Some Code – Part 1
341 AOP Ordering Aspects – Write Some Code – Part 2

AOP JoinPoints
342 AOP Read Method Arguments with JoinPoints – Overview
343 AOP Read Method Arguments with JoinPoints – Write Some Code

AOP @AfterReturning Advice Type
344 AOP @AfterReturning Overview
345 AOP @AfterReturning – Write Some Code – Part 1
346 AOP @AfterReturning – Write Some Code – Part 2
347 AOP @AfterReturning – Write Some Code – Part 3
348 AOP @AfterReturning – Modifying Data – Write Some Code

AOP @AfterThrowing Advice Type
349 AOP @AfterThrowing
350 AOP @AfterThrowing – Write Some Code

AOP @After Advice Type
351 AOP @After Overview
352 AOP @After – Write Some Code
353 HEADS UP – @After Advice running after @AfterThrowing advice

AOP @Around Advice Type
354 AOP @Around Advice Overview
355 AOP @Around – Write Some Code – Part 1
356 AOP @Around – Write Some Code – Part 2
357 AOP @Around Advice – Resolve Order Issue
358 AOP @Around Advice – Handling Exceptions – Overview
359 AOP @Around Advice – Handling Exceptions – Write Some Code
360 AOP @Around Advice – Rethrowing Exceptions

AOP Add AOP Logging to Spring MVC App – Real-Time Project
361 AOP AOP and Spring MVC App – Overview
362 AOP AOP and Spring MVC App – Write Some Code – Create Aspect
363 AOP AOP and Spring MVC App – Write Some Code – Add @Before Advice
364 AOP AOP and Spring MVC App – Write Some Code – Add @AfterReturning Advice

Maven Crash Course
365 Maven Overview – Part 1
366 Maven Overview – Part 2
367 Maven Key Concepts – POM file and Coordinates
368 Maven – How to Find Dependencies
369 Maven Archetypes
370 Maven – Creating a Simple Project – Part 1
371 How to Install the m2eclipse Plugin
372 Maven – Creating a Simple Project – Part 2
373 Maven – Creating a Web App Project
374 Maven – Repositories Overview
375 Maven – Local Repository
376 Maven – Central Repository (remote)
377 Maven – Private Repositories

Spring Security – Getting Started
378 Spring Security – Overview
379 Spring Security – Demo
380 Spring Security – All Java Configuration – Part 1
381 Spring Security – All Java Configuration – Part 2
382 Spring Security – Project Downloads and Setup
383 Spring Security – Maven Configuration
384 FAQ Maven can’t find a class but I have it in pom.xml
385 Spring Security – Create Spring Java Config class
386 Spring Security – Create Spring Initializer class
387 Spring Security – Create Controller and View
388 Spring Security – Run the App
389 Spring Security – Add Spring Security Maven Dependencies
390 Spring Security – Latest Version
391 Spring Security – Add Spring Security Maven Dependencies – Demo
392 Spring Security – Basic Security (Users, Passwords and Roles)
393 Spring Security – Create Security Initializer
394 HEADS UP – New Spring Security – Deprecated code (Solution)
395 Spring Security – Create Security Config

Spring Security – Adding Custom Login Form
396 Spring Security – Rename Context Roots
397 Spring Security – Dev and Testing with New Private Window
398 Spring Security – Custom Login Form Overview – Part 1
399 Spring Security – Custom Login Form Overview – Part 2
400 Spring Security – Spring Config for Custom Login Form
401 Spring Security – Create Request Mapping for Login Form
402 Spring Security – Building Custom Login Form
403 Spring Security – Testing Custom Login Form
404 Spring Security – Adding Login Error Message – Overview
405 Spring Security – Adding Login Error Message – Coding

Spring Security – Bootstrap CSS Login Form
406 Spring Security – Bootstrap CSS Login Form
407 Spring Security – Bootstrap CSS Login Form – Adding Form
408 Spring Security – Bootstrap CSS Login Form – Customizing Form
409 Spring Security – Bootstrap CSS Login Form – Testing
410 FAQ How To Add Local CSS file for Spring Security Login Form

Spring Security – Adding Logout Support
411 Spring Security – Logout Overview
412 Spring Security – Logout Configuration
413 Spring Security – Customizing Logout Message

Spring Security – Cross Site Request Forgery (CSRF)
414 Spring Security – Cross Site Request Forgery (CSRF)
415 Spring Security – Viewing CSRF Tokens
416 Spring Security – Manually Adding CSRF Tokens

Spring Security – User Roles
417 Spring Security – Displaying User ID and Roles – Overview
418 Spring Security – Displaying User ID and Roles – Write Some Code
419 Spring Security – Displaying User ID and Roles – Test the App

Spring Security – Restrict Access Based on Role
420 Spring Security – Restrict Access – Overview
421 Spring Security – Restrict Access – Update Home Page
422 Spring Security – Restrict Access – Create Controller and Views
423 Spring Security – Restrict Access – Security Configuration
424 Spring Security – Restrict Access – Test Admin Access
425 Spring Security – Create a Custom Access Denied Page – Overview
426 Spring Security – Create a Custom Access Denied Page – Configuration
427 Spring Security – Create a Custom Access Denied Page – Coding
428 Spring Security – Display Content based on Roles – Overview
429 Spring Security – Display Content based on Roles – Write Some Code
430 Spring Security – Display Content based on Roles – Testing

Spring Security – Add JDBC Database Authentication
431 Spring Security JDBC – Overview – Defining Database Schema
432 Spring Security JDBC – Overview – DataSource Configuration
433 Spring Security JDBC – Overview – Add JDBC Authentication
434 Spring Security JDBC – Coding – Run SQL Script
435 Spring Security JDBC – Coding – Update Maven POM File
436 Spring Security JDBC – Coding – Add JDBC Properties File
437 Spring Security JDBC – Coding – Define DataSource
438 Spring Security JDBC – Coding – Reading Props File
439 Spring Security JDBC – Coding – Configure Data Source
440 Spring Security JDBC – Coding – Add JDBC Authentication
441 Spring Security JDBC – Coding – Test the App

Spring Security – Password Encryption
442 Spring Security – Password Encryption – Bcrypt Overview
443 bcrypt Additional Resources
444 Spring Security – Password Encryption – Spring Configuration
445 Spring Security – Password Encryption – Setting up Database Schema
446 Spring Security – Password Encryption – Bcrypt Configuration
447 Spring Security – Password Encryption – Testing Passwords
448 FAQ Spring Security – Custom Tables and User Registration
449 FAQ Adding Spring Security to CRM App
450 FAQ Spring Security – Adding a Public Landing Page

Spring REST – Overview
451 Spring REST – What are REST Web Services – Part 1
452 Spring REST – What are REST Web Services – Part 2

Spring REST – JSON Data Binding
453 Spring REST – JSON Overview
454 Spring REST – JSON Data Binding with Jackson – Overview 1
455 Spring REST – JSON Data Binding with Jackson – Overview 2
456 Spring REST – JSON Jackson Demo – Set Up Maven Project
457 Spring REST – JSON Jackson Demo – Processing JSON
458 Spring REST – JSON Jackson Demo – Nested Objects and Arrays
459 Spring REST – JSON Jackson Demo – Display Nested and Arrays
460 Spring REST – JSON Jackson Demo – Ignore Properties

Spring REST – Create a Spring REST Controller
461 Spring REST – HTTP Overview
462 Spring REST – Install a REST Client
463 Spring REST – Creating a Spring REST Controller – Overview 1
464 Spring REST – Creating a Spring REST Controller – Overview 2
465 Spring REST – REST Controller Demo – Set Up Maven Project
466 Spring REST – REST Controller Demo – Set Up All Java Configuration
467 Spring REST – REST Controller Demo – Creating the REST Controller
468 Spring REST – App Enhancement with Default Page

Spring REST – Retrieve POJOs as JSON
469 Spring REST – Retrieve POJOs as JSON – Overview
470 Spring REST – Retrieve POJOs as JSON – Create POJO
471 Spring REST – Retrieve POJOs as JSON – Create REST Controller
472 Spring REST – Retrieve POJOs as JSON – Test REST Controller

Spring REST – Using @PathVariable for REST Endpoints
473 Spring REST – Using @PathVariable for REST Endpoints – Overview
474 Spring REST – Using @PathVariable for REST Endpoints – Refactoring Code
475 Spring REST – Using @PathVariable for REST Endpoints – Coding @PathVariable

Spring REST – Exception Handling
476 Spring REST – Exception Handling Overview – Part 1
477 Spring REST – Exception Handling Overview – Part 2
478 Spring REST – Exception Handling – Create Custom Error Response and Exception
479 Spring REST – Exception Handling – Update REST Service to throw Exception
480 Spring REST – Exception Handling – Add Exception Handler with @ExceptionHandler
481 Spring REST – Exception Handling – Test the App
482 Spring REST – Exception Handling – Adding Generic Exception Handler
483 Spring REST – Global Exception Handling Overview
484 Spring REST – Global Exception Handling with @ControllerAdvice

Spring REST – API Design Best Practices
485 Spring REST – API Design Best Practices
486 Spring REST – API Design of Real-Time Projects (PayPal, Github and SalesForce)

Spring REST – CRUD Database Real-Time Project – Overview
487 Spring REST – CRUD Database Real-Time Project – Overview
488 Spring REST – Import Maven Project
489 Spring REST – Maven POM file and All Java Config (no xml)
490 Spring REST – Project Service and DAO
491 Spring REST – Create Database Tables

Spring REST – CRUD Database Real-Time Project – Get Customers
492 Spring REST – CRUD Database Real-Time Project – Get Customers Overview
493 Spring REST – CRUD Database Real-Time Project – Create REST Controller
494 Spring REST – CRUD Database Real-Time Project – Testing in Postman
495 Spring REST – CRUD Database Real-Time Project – Get Single Customer Overview
496 Spring REST – CRUD Database Real-Time Project – Get Single Customer – Testing

Spring REST – CRUD Database Real-Time Project – Exception Handling
497 Spring REST – CRUD Database Real-Time Project – Exception Handling – Responses
498 Spring REST – CRUD Database Real-Time Project – Exception Handling – Refactor
499 Spring REST – CRUD Database Real-Time Project – Exception Handling – Annotation
500 Spring REST – CRUD Database Real-Time Project – Exception Handling – Catch All

Spring REST – CRUD Database Real-Time Project – Add Customer
501 Spring REST – CRUD Database Real-Time Project – Add Customer – Overview
502 Spring REST – CRUD Database Real-Time Project – Add Customer – Coding
503 HEADS UP – HTTP Status 405 Method Not Allowed
504 Spring REST – CRUD Database Real-Time Project – Add Customer – Testing

Spring REST – CRUD Database Real-Time Project – Update Customer
505 Spring REST – CRUD Database Real-Time Project – Update Customer – Overview
506 Spring REST – CRUD Database Real-Time Project – Update Customer – Coding

Spring REST – CRUD Database Real-Time Project – Delete Customer
507 Spring REST – CRUD Database Real-Time Project – Delete Customer – Overview
508 Spring REST – CRUD Database Real-Time Project – Delete Customer – Coding
509 Spring REST – CRUD Database Real-Time Project – Delete Customer – Testing

Spring REST – Extras
510 FAQ Creating a REST Client with Spring
511 adding-spring-security-to-crm-rest-api
512 FAQ Securing REST API Endpoints

Spring Boot – Overview
513 Spring Boot – What is Spring Boot
514 Spring Boot – Creating a Project with Spring Boot Initializr
515 Spring Boot – Developing a REST API Controller with Spring Boot
516 Spring Boot – Exploring the Spring Boot Project Structure – Part 1
517 Spring Boot – Exploring the Spring Boot Project Structure – Part 2
518 Spring Boot – Spring Boot Starters – A Curated List of Dependencies
519 Spring Boot – Parents for Spring Boot Starters

Spring Boot – Spring Boot Dev Tools and Spring Boot Actuator
520 Spring Boot – Dev Tools
521 Spring Boot – Spring Boot Actuator – Overview
522 Spring Boot – Spring Boot Actuator – Accessing Actuator Endpoints
523 Spring Boot – Spring Boot Actuator – Applying Security to Actuator Endpoints

Spring Boot – Running Spring Boot Apps from the Command Line
524 Spring Boot – Running Spring Boot Apps from the Command Line – Overview
525 Spring Boot – Running Spring Boot Apps from the Command Line – Coding

Spring Boot – Application Properties
526 Spring Boot – Injecting Custom Application Properties
527 Spring Boot – Configuring the Spring Boot Server

Spring Boot – Build a REST CRUD API with Hibernate – Real-Time Project
528 Spring Boot – REST CRUD Real-Time Project Overview and Database Set Up
529 Spring Boot – Create Project with Spring Initializr
530 Spring Boot – Integrating Hibernate and JPA
531 Spring Boot – Configuring the Spring Boot Data Source
532 Spring Boot – Developing the DAO Interface and Implementation
533 Spring Boot – Creating REST Controller Methods
534 Spring Boot – Additional CRUD Methods for DAO
535 Spring Boot – Refactoring the Code to use a Service Layer
536 Spring Boot – REST Controller Methods to Find and Add Employee
537 Spring Boot – REST Controller Methods to Update and Delete an Employee

Spring Boot – Build a REST CRUD API with JPA – Real-Time Project
538 Spring Boot – REST JPA Overview
539 Spring Boot – Creating JPA DAO Implementation for REST API
540 Spring Boot – Testing the REST API with JPA DAO Implementation

Spring Boot – Spring Data JPA – Real-Time Project
541 Spring Boot – Spring Data JPA Overview
542 Spring Boot – Creating Spring Data JPA Repository
543 Spring Boot – Testing the REST API with Spring Data JPA Repository

Spring Boot – Spring Data REST – Real-Time Project
544 Spring Boot – Spring Data REST Overview
545 Spring Boot – Spring Data REST – Creating a REST API
546 Spring Boot – Spring Data REST – Configuration, Pagination and Sorting

Spring Boot – Thymeleaf
547 Spring Boot – Thymeleaf Overview
548 Spring Boot – Thymeleaf Helloworld – Create a Thymeleaf App
549 Spring Boot – Thymeleaf Helloworld – Apply CSS Stylesheets

Spring Boot – Thymeleaf – Build HTML Tables
550 Spring Boot – Thymeleaf – Build HTML Tables – Overview
551 Spring Boot – Thymeleaf – Build HTML Tables – Write Some Code
552 Spring Boot – Thymeleaf – Add Bootstrap CSS

Spring Boot – Thymeleaf – CRUD Database Real-Time Project
553 Spring Boot – Thymeleaf – CRUD Database Project – Get Employees – Part 1
554 Spring Boot – Thymeleaf – CRUD Database Project – Get Employees – Part 2
555 Spring Boot – Thymeleaf – CRUD Database Real-Time Project Add Employee – Part 1
556 Spring Boot – Thymeleaf – CRUD Database Real-Time Project Add Employee – Part 2
557 Spring Boot – Thymeleaf – CRUD Database Real-Time Project Add Employee – Part 3
558 Spring Boot – Thymeleaf – CRUD Database Real-Time Project Update Employee – 1
559 Spring Boot – Thymeleaf – CRUD Database Real-Time Project Update Employee – 2
560 Spring Boot – Thymeleaf – CRUD Database Real-Time Project Delete Employee

Spring Boot – Thymeleaf – Security Extras
561 FAQ Security – LoginLogout with Spring Boot and Thymeleaf
562 FAQ Security – User Registration with Spring Boot and Thymeleaf

Summary
563 Thank You and Please Leave a Rating for the Course

Appendix
564 FAQ Spring Student Questions
565 FAQ How to Configure Multiple Datasources in Spring and Spring Boot
566 Deploying Spring Boot WAR file with JSP to Tomcat
567 Deploy Spring Boot WAR file with Thymeleaf to Tomcat
568 Create a Spring MVC Maven Project from Scratch

Homepage