Spring Framework 6: Beginner to Guru

Spring Framework 6: Beginner to Guru

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 418 lectures (32h 48m) | 22.92 GB

Learn All Things Spring! Spring Framework 6, Spring Boot 3, Spring MVC, Spring Data JPA, Spring Security, Spring WebFlux

This course is All Things Spring!

Do you wish to master Spring Framework 6 and Spring Boot 3? Then this is the course for you.

This course is for developers with no previous Spring Framework or Spring Boot experience.

This course has been developed by a back end developer, for back end developers!

Inside this course, you will learn about:

  • Build a Spring Boot Web App
  • Use Spring for Dependency Injection
  • Create RESTful Web Services with Spring MVC
  • Create RESTful Web Services with Spring Webflux
  • Create RESTful Web Services with Spring Webflux.fn
  • Learn Best Practices using Project Lombok with Spring
  • Create MapStruct Mappers as Spring Components
  • Spring MockMVC with Mockito and JUnit 5
  • Spring Data JPA
  • Spring Data MongoDB
  • Spring Data R2DBC (Reactive)
  • Spring RestTemplate
  • Spring WebClient
  • Spring WebTestClient
  • Spring Security HTTP Basic Authentication
  • Spring Security OAuth2 Authentication w/ JWT
  • Spring Authorization Server
  • Spring WebMVC OAuth2 Resource Server
  • Spring WebFlux OAuth2 Resource Server
  • Spring Cloud Gateway
  • Spring Boot Maven Plugin
  • Spring Boot Gradle Plugin
  • Use Java Bean Validation with Spring
  • Spring Boot Auto-Configuration with MySQL
  • Use Spring Boot and Flyway for Database Migrations
  • Hibernate Database Relationship Mapping with Spring Data JPA
Table of Contents

Introduction
1 Course Introduction
2 Instructor Introduction
3 Getting the Most out of this Course
4 Setting Up Your Development Environment
5 Is Your IDE Free Like a Puppy
6 Free 120 Day IntelliJ IDEA Trial
7 Getting Help with the Spring Framework
8 Course Slack Room Chat Live with Me and Other Gurus
9 Using GitHub

Building a Spring Boot Web App
10 Introduction
11 Introduction to Spring
12 Application Overview
13 Spring Initilizer
14 Open Project in IntelliJ
15 Using JPA Entities
16 JPA Relationships
17 Code Examples in GitHub
18 Equality in Hibernate
19 Spring Data Repositories
20 Initializing Data with Spring
21 Publisher Relationships
22 Introduction to H2 Database Console
23 Introduction to Spring MVC
24 Create Service Layer
25 Configuring Spring Controllers
26 Thymeleaf Templates
27 Project Review

Dependency Injection with Spring
28 Introduction
29 SOLID Principles of OOP
30 The Spring Context
31 Spring Test Context
32 Basics of Dependency Injection
33 Dependencies Without Injection
34 Dependency Injection without Spring
35 Dependency Injection using Spring Framework
36 Primary Beans
37 Using Qualifiers
38 Spring Profiles
39 Default Profile
40 Spring Bean Life Cycle
41 Spring Bean Life Cycle Demo

Introduction to Restful Web Services
42 Introduction
43 HTTP Protocol
44 HTTP Request Methods
45 Postman Demonstration
46 Beginners Guide to REST
47 Richardson Maturity Model
48 Spring Framework and RESTFul Services

Project Lombok
49 Introduction
50 Create New Project
51 NewProjectSpring6RestMVC
52 Project Lombok Features
53 Project Lombok POJOs
54 Project Lombok Builders
55 Project Lombok Constructors
56 Project Lombok Logging
57 DeLombock

Spring MVC Rest Services
58 Introduction
59 Introducing SFG Beer Works
60 HTTP GET with Spring MVC List Operation
61 HTTP Client
62 Using Path Parameters Get By Id
63 Spring Boot Development Tools
64 HTTP POST with Spring MVC
65 Set Header on HTTP Response
66 HTTP PUT with Spring MVC
67 HTTP DELETE with Spring MVC
68 HTTP PATCH with Spring MVC

Spring MockMVC Test with Mockito
69 Introduction
70 Introduction to Testing with MockMVC
71 MockMVC Configuration
72 Return Data With Mockito
73 Using JSON Matchers
74 MockMVC Test List Beers
75 Create JSON Using Jackson
76 MockMVC Test Create Beer
77 MockMVC Test Update Beer
78 MockMVC Test Delete Beer
79 MockMVC Test Patch Beer
80 DRY Dont Repeat Yourself
81 DRY Refactoring
82 URI Builder

Exception Handling with Spring MVC
83 Introduction
84 Exception Handling Overview
85 Throw Custom Exception with Mockito
86 Using Exception Handler
87 Controller Advice
88 Using ResponseStatus Annotation
89 Using Java Optional

Spring Data JPA with Spring MVC
90 Introduction
91 Data Transfer Objects
92 Refactoring to DTOs
93 Spring Data JPA Dependencies
94 Creating JPA Entities
95 Hibernate UUID Id Generation
96 Spring Data JPA Repositories
97 Spring Boot JPA Test Splice
98 MapStruct Dependencies and Configuration
99 MapStruct Mappers
100 JPA Services
101 JPA Get Operations
102 Controller Integration Test
103 Testing for expected Exceptions
104 JPA Save New Beer Operation
105 JPA Update Beer by Id Operation
106 JPA Update Beer Not Found
107 JPA Delete Beer by Id
108 JPA Delete by Id Not Found

Data Validation
109 Introduction
110 Data Validation Overview
111 Java Bean Validation Maven Dependencies
112 Controller Binding Validation
113 Custom Validation Handler
114 Custom Error Body
115 JPA Validation
116 Database Constraint Validation
117 Controller Testing with JPA
118 JPA Validation Error Handler
119 JPA Validation Error Message

MySQL with Spring Boot
120 Introduction
121 Overview of MySQL
122 Installing MySQL
123 Create MySQL Schema and User Accounts
124 Adding MySQL Dependencies
125 Spring Boot MySQL Profile
126 Console Logging of SQL Statements
127 JPA Updates for MySQL
128 Hikari Datasource Pool
129 Schema Script Generation
130 Spring Boot Database Initialization

Flyway Migrations
131 Introduction
132 Overview of Flyway
133 Flyway Dependencies
134 Flyway Migration Script Configuration
135 Add Database Column
136 Flyway Advanced Spring Boot Configuration
137 Fixing Integration Tests using H2

CSV File Uploads
138 Introduction
139 Beer CSV Data
140 Beer CSV POJO
141 Mapping with OpenCSV
142 CSV Parse Service
143 Save CSV Data to Database
144 Hibernate Create and Update Timestamp
145 Fix Integration Tests

Query Parameters with Spring MVC
146 Introduction
147 Overview of Query Parameters
148 List Beers Spring MVC Test
149 Capture Query Parameters with Spring MVC
150 Update Service to Accept Query Parameter
151 Refactor Service with Conditional Logic
152 Find By Name with Spring Data JPA
153 Complete Implementation
154 Complete Search Functionality

Paging and Sorting
155 Introduction
156 What is Paging and Sorting
157 Paging and Sorting with Spring
158 Add Paging Parameters
159 Create Page Request Object
160 Refactor Spring Data JPA Repositories
161 Add Sort Parameter

Database Relationship Mappings
162 Introduction
163 Overview of Database Relationships
164 Review of Database Changes
165 One to Many Bidirectional
166 Create Beer Order Repository
167 Persisting Beer Order Relationships
168 Association Helper Methods
169 Many to Many
170 Many to Many Persistence
171 One to One BiDirectional
172 Cascade on Persist
173 Hibernate Cascade Types

Database Transactions Locking
174 Introduction
175 Overview of Database Transactions
176 Database Locking Demo
177 Spring Data JPA Transactions
178 Optimistic Locking Demo

Introduction to Spring Data REST
179 Introduction
180 Project Code Review
181 Add Spring Data REST Dependency
182 List All With Spring Data REST
183 Set Base Path
184 Customize URL Path
185 Version Property ETag Header
186 API Profile
187 Create with Spring Data REST
188 Update Data with Spring Data REST
189 Delete Data with Spring Data REST
190 Use Repository Methods

Spring RestTemplate
191 Introduction
192 Project Code Review
193 Create Client Service
194 Get List as JSON String
195 Get List as Java Map
196 Get List as Jackson Object
197 Spring Pageable with Jackson
198 RestTemplateBuilder Configuration
199 Externalize Root URL
200 Uri Components Builder
201 Query Parameters
202 URL Parameters
203 HTTP Post with RestTemplate
204 Get Response Header
205 HTTP Put with RestTemplate
206 HTTP Delete with RestTemplate

Testing Spring RestTemplate
207 Introduction
208 Create Mock Test Class
209 Using Mockito
210 Mock Test Create Beer
211 Refactor Setup Method
212 Mock Test Update Beer
213 Mock Test Delete Beer
214 Mock Test Not Found
215 Mock Test Query Param

Spring Security Basic Auth
216 Introduction
217 Adding Spring Security Dependencies
218 Calling Rest API with Postman and HTTP Basic
219 Customizing User Name and Password
220 Testing Spring Security with JUnit 5
221 Spring Security Config Disable CSRF
222 Spring Security with Web Application Context
223 HTTP Basic with RestTemplate
224 Refactor of RestTemplate Builder Config
225 HTTP Basic with RestTemplate Mock Context

Spring Authorization Server
226 Introduction
227 Overview of OAuth 2 and JWT
228 Introduction to Spring Authorization Server
229 Create New Project
230 Add Authorization Server Filter Chain
231 Add Default Security Filter Chain
232 Create User Details Service
233 Add Registered Client Repository
234 Create JWK Source
235 Create JwtDecoder
236 Set Authorization Server Settings
237 Get Authorization Token Using Postman

Spring MVC OAuth2 Resource Server
238 Introduction
239 Maven Dependencies
240 Spring Security Configuration
241 Testing with Postman
242 Spring MockMVC Testing with JWT
243 Refactor JWT Tests

Spring RestTemplate with OAuth 2
244 Introduction
245 Maven Dependencies and Spring Configuration
246 Spring Authorized Client Manager
247 Http Request Interceptor
248 Add Interceptor to RestTemplate Builder
249 Mock OAuth2 Manager

Introduction to Reactive Programing
250 Introduction
251 Reactive Manifesto
252 What is Reactive Programming
253 Reactive Streams API
254 Create Spring Boot Project
255 Implement Repository
256 Mono Operations
257 Flux Operations
258 Filter Flux Objects
259 Error Handling
260 Step Verifier

Spring Data R2DBC
261 Introduction
262 Overview of Spring Data R2DBC
263 Create Spring Boot Project
264 Initializing Database
265 Create Database Entity
266 Create Spring Data R2DBC Repository
267 Test Save New Entity
268 Add Create and Update Date with Auditing
269 Initializing Database

Spring WebFlux Rest Services
270 Introduction
271 Create WebFlux Controller
272 List Flux from Database
273 Using Path Variables
274 Create New Beer Entity
275 Testing Create with Postman
276 Update Beer Entity
277 Test Update with Postman
278 Delete Beer Entity
279 Add Validation

Spring WebFlux WebTestClient
280 Introduction
281 Test List Beers
282 Test Get By ID
283 Test Create Beer Entity
284 Test Update Beer Entity
285 Test Delete Beer Entity
286 Test Method Order

Exception Handling with Spring WebFlux
287 Introduction
288 Test Validation Failure On Create
289 Test Validation Failure On Update
290 Test Get By ID Not Found
291 Test Update Not Found
292 Test Delete Not Found

Spring Data MongoDB
293 Running MongoDB Locally
294 Verify MongoDB installation
295 Create New Spring Boot Project
296 Add Entity Model and Mapstruct
297 Add Mongo Database and Client Configuration
298 Mongo Database Authentication
299 Add Spring Data Repository
300 Test Save New Document
301 Using Awaitility
302 Implement CRUD Operations
303 Find By Name with Spring Data Mongo
304 Find By Beer Style with Spring Data Mongo
305 Initializing Database

Spring WebFluxfn Rest Services
306 WebFluxfn Overview
307 WebFlux Handler
308 WebFlux Router
309 Get by Id Endpoint
310 Create Endpoint
311 Update Endpoint
312 Patch Endpoint
313 Delete Endpoint
314 Return HTTP 404 on not found
315 Add Validation
316 Using Query Parameters with WebFluxfn

Spring WebClient
317 Create New Spring Boot Project
318 Get List as JSON String
319 Get List as Java Map
320 Get List as Jackson Object
321 Get List as Java POJOs
322 Webclient Global Configuration
323 Uri Components Builder
324 Query Parameters
325 HTTP Post with WebClient
326 HTTP Put with WebClient

Spring WebFlux Resource Server
327 Maven Dependencies
328 Spring Security Configuration
329 Testing API Using Postman
330 Spring webTestClient Testing with JWT

Spring WEbfluxfn Resource Server
331 Maven Dependencies
332 Spring Security Configuration
333 Testing with Postman
334 Spring webTestClient Testing with JWT

Using OAuth 20 with Spring WebClient
335 Maven Dependencies and Spring Configuration
336 Spring Security Configuration
337 WebClient Filter Configuration

Spring Cloud Gateway
338 Overview of Spring Cloud Gateway
339 Create Spring Cloud Gateway Project
340 Server Port Mapping
341 v1 Route Mapping
342 Troubleshooting Spring Cloud Gateway
343 Gateway Resource Server Configuration

Spring Boot Maven Plugin
344 The Maven Build Lifecycle
345 Maven from the Command Line
346 Spring Boot Executable Jars
347 Running Spring Boot Executable Jars
348 Spring Boot Repackage to Executable Jar
349 Running Spring Boot With Maven
350 Resource Filtering
351 Maven Build Info

Spring Boot Gradle Plugin
352 Introduction to the Spring Boot Gradle Plugin
353 The Gradle Build LIfecycle
354 Gradle from the Command Line
355 Running Spring Boot with Gradle
356 Spring Boot Build Info

OpenAPI with Spring Boot
357 Introduction to OpenAPI
358 OpenAPI for Spring Boot Development
359 Springdoc Maven Dependencies
360 Springdoc Spring Security Configuration
361 Save OpenAPI Specification in Maven Build

OpenAPI Validation with RestAssured
362 Atlassian Swagger Request Validator
363 RestAssured Test
364 Spring Security Configuration
365 Configure Swagger Request Validator
366 Whitelist Validation Rules

Appendix A Using GitHub
367 Git and GitHub Basics Start Here

Extra Kube By Example Building Spring Boot Docker Images
368 KBE Course Introduction
369 KBE Setting Up Your Development Environment
370 KBE Introduction
371 KBE Spring Boot Project Code Review
372 KBE Creating Docker File
373 KBE Building and Running Docker Image
374 KEB Introduction Building Layered Image
375 KBE Overview and Maven Configuration
376 KBE MultiStage Docker File
377 KBE Introduction Building Docker Images with Maven
378 KBE Introducing Docker Maven
379 KBE Using Properties in Builds
380 KBE Pushing to Docker Hub

Extra Kube By Example Spring Boot On Kubernetes
381 KBE Course Introduction
382 KBE Setting Up Your Development Environment
383 KBE Enable Kubernetes in Docker Desktop
384 KBE Introduction to Deploying on Kubernetes
385 KBE Create Deployment
386 KBE Create Service
387 KBE Port Forwarding
388 KBE Terminating Services and Deployments
389 KBE Exposing Services
390 KBE Accessing Logs
391 KBE Setting Environment Variables
392 KBE Readiness Probe
393 KBE Liveness Probe
394 KBE Graceful Shutdown

Extra Kube By Example Spring Boot Microservices on Kubernetes
395 KBE Course Introduction
396 KBE Setting Up Your Development Environment
397 KBE Enable Kubernetes in Docker Desktop
398 KBE Introduction to Spring Boot Microservices on Kubernetes
399 KBE Overview of Microservices Used in This Course
400 KBE Source Code Review
401 KBE Running Services via Docker Compose
402 KBE Introduction Infrastructure Services
403 KBE MySQL Service
404 KBE JMS Service
405 KBE Introduction to Spring Boot Microservices
406 KBE Inventory Service
407 KBE Inventory Failover Service
408 KBE Beer Service
409 KBE Order Service
410 KBE Add Readiness and Liveness Probe Configuration
411 KBE Add Graceful Shutdown
412 KBE Kubernetes Ingress Controllers
413 KBE Spring Cloud Gateway Service
414 KBE Deleting Services and Deployments
415 KBE Introduction to Consolidated Logging
416 KBE Logging Configuration Code Review
417 KBE Elasticsearch
418 KBE Kibana
419 KBE Filebeat

Homepage