Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Reactive Applications With Spring Webflux Framework

Posted By: ELK1nG
Reactive Applications With Spring Webflux Framework

Reactive Applications With Spring Webflux Framework
Published 12/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.42 GB | Duration: 7h 6m

Creating a Secure, Reactive and non-blocking REST API with Spring WebFlux

What you'll learn

What Reactive Programming is

Architecture of Reactive Spring Boot application

Create Reactive Spring Boot application

Write and read from a database in reactive/non-blocking way

Use Spring Security in reactive Spring WebFlux application

Implement user authentication in reactive application

Implement JWT authentication in reactive application

Create and validate JSON Web Tokens(JWT)

Use method-level security annotations

Write Spring Security Expressions(SpEL)

Requirements

Basic knowledge of Java

Basic familiarity with Spring Framework

Description

In this video course you will learn how to create Reactive and Non-blocking applications with Spring WebFlux framework. This course is perfect for beginners and will start with the basics of Spring WebFlux.You will learn: - What Reactive programming is and how it is different from an imperative programming style, - The key differences between the traditional, blocking Spring WebMVC and the non-blocking, Reactive Spring WebFlux applications,- To create reactive RESTful Web Service application that handles different types of HTTP requests, - Write and read information from a database in a reactive, non-blocking way.As you progress through the course, you will learn how to: - Use Spring Security to protect your Spring WebFlux application, - Implement user login(authentication), - Generate and use JSON Web Tokens (JWT) for secure communication- Validate JWT and read token claims, - Use method-level security annotations to perform authorization. You will also learn how to add pagination and read database records in smaller chunks to improve performance.All important concepts are explained using simple, easy-to-follow slides. The source code is provided, so you can download it and follow along with each lesson.This course also includes helpful quiz questions to test your knowledge as you go. Plus, there is an active Q&A section where you can get answers to all your questionsBy the end of this course, you’ll be able to create fast, secure, and scalable Reactive applications with Spring WebFlux.

Overview

Section 1: Introduction

Lecture 1 Introduction

Section 2: Introduction to traditional(Blocking) Applications

Lecture 2 Traditional(Blocking) applications

Lecture 3 Traditional(Blocking) Thread per Request Architecture

Lecture 4 Solutions to Thread per Request Problem

Section 3: Introduction to Reactive Programming

Lecture 5 Spring Framework and Reactive Streams Specification

Lecture 6 Introduction to Reactive programming

Lecture 7 Introduction to Data Streams

Lecture 8 Back pressure

Lecture 9 Data Streams - A quick demo

Lecture 10 Reactive Application Overview

Lecture 11 Introduction to Spring WebFlux

Section 4: Creating a Reactive Spring Boot application project

Lecture 12 IntelliJ IDEA Ultimate edition licence

Lecture 13 Creating a new Reactive Spring Boot project

Lecture 14 Configure H2 database support in Reactive Spring Boot application

Lecture 15 Creating a Database schema

Lecture 16 Configuration class to start and stop H2 console web server

Lecture 17 Login to H2 database

Section 5: Presentation layer: Accept HTTP request and return HTTP response

Lecture 18 Introduction to presentation layer

Lecture 19 @RestController: Creating and configure the RestController class

Lecture 20 @PostMapping: Handle HTTP Post request

Lecture 21 @RequestBody: Reading HTTP Request Body

Lecture 22 @Validated: Validating HTTP Request body

Lecture 23 Trying if validation works

Lecture 24 Mono: Returning a single String value in HTTP Response body

Lecture 25 Mono: Returning a User object in HTTP Response body

Lecture 26 ResponseEntity: Returning custom HTTP status code

Lecture 27 @GetMapping: Handle HTTP GET Request

Lecture 28 Flux: Returning multiple objects in HTTP Response body

Lecture 29 @RequestParam: Reading URL Query String Parameters

Section 6: Data layer: Working with a database

Lecture 30 Introduction to data layer

Lecture 31 Creating database schema for Users table

Lecture 32 Creating User Entity class

Lecture 33 Spring Data R2DBC: Creating ReactiveCrudRepository

Section 7: Service layer: Business logic

Lecture 34 Introduction to Service layer in Reactive Spring WebFlux application

Lecture 35 Creating a Service class

Lecture 36 Implementing the createUser() method

Lecture 37 Invoke createUser() method from a method in the Rest Controller class

Lecture 38 Create User: Trying how it works

Lecture 39 Returning Details of a Single User

Lecture 40 Get User: Trying how it works

Section 8: List all users. Pagination in Reactive Spring WebFlux REST application.

Lecture 41 Data layer: Find all records + pagination.

Lecture 42 Service layer: Find all records + pagination.

Lecture 43 Presentation layer: Find all records + pagination.

Lecture 44 Trying how it works

Lecture 45 Enabling SQL Query Logging in reactive Spring WebFlux application

Section 9: Error Handling in Reactive Spring WebFlux applications

Lecture 46 Handling one specific exception with onErrorMap() in Spring WebFlux

Lecture 47 Handling multiple exceptions with onErrorMap() in Spring WebFlux

Lecture 48 Introduction to Global Exception Handling in Spring

Lecture 49 @RestControllerAdvice and @ExceptionHandler in reactive application

Lecture 50 Trying how Controller Advice works

Lecture 51 Formatting Bean validation errors in Spring WebFlux application

Lecture 52 Trying how custom bean validation error responses work in Spring WebFlux

Section 10: Unprotected API endpoints - Security Security in Reactive WebFlux.

Lecture 53 Adding Spring Security to reactive Spring WebFlux application

Lecture 54 @EnableWebFluxSecurity and Spring Security configuration class

Lecture 55 Granting access to public API endpoints in reactive Spring WebFlux application

Lecture 56 Trying how it works

Section 11: Encrypting User's Password - Spring Security in Reactive Spring WebFlux.

Lecture 57 Encrypting user's password with BCryptPasswordEncoder

Lecture 58 Trying if password encryption works

Section 12: Implement User Authentication(Login). Spring Security in Reactive Spring WebFlux

Lecture 59 Creating Authentication Request class

Lecture 60 Creating /login API endpoint

Lecture 61 Accessing /login API endpoint

Lecture 62 Reactive UserDetailsService

Lecture 63 Reactive AuthenticationManager

Lecture 64 Creating Authentication Service

Lecture 65 Implementing authenticate() method

Lecture 66 Invoke AuthenticationService from AuthenticationController

Lecture 67 Register Reactive Authentication Manager with Authentication Filter

Lecture 68 Trying if authenticate() method works

Lecture 69 onErrorReturn - Handle Unsuccessful User Authentication

Lecture 70 Other onError operators

Lecture 71 Global Error Handling - Handle Unsuccessful User Authentication

Lecture 72 Handle Unsuccessful User Authentication - Trying how it works

Section 13: Generating JSON Web Token(JWT)

Lecture 73 Introduction to JWT Authentication in reactive Spring WebFlux applications

Lecture 74 Adding JWT dependencies

Lecture 75 Creating Service class for generating and validating JWT

Lecture 76 Generating JWT access token

Lecture 77 Previewing JWT Access token

Section 14: Validating JSON Web Token(JWT) in Reactive Spring WebFlux applications

Lecture 78 Creating reactive JWT Authentication Filter

Lecture 79 Extracting JWT from HTTP request

Lecture 80 Validating JWT access token in Reactive Spring WebFlux application

Lecture 81 Handle Successful or Unsuccessful JWT Authentication

Lecture 82 Extracting Subject claim from JWT token

Lecture 83 Adding JWT Authentication Filter to the Spring Security filter chain

Lecture 84 Trying how JWT Authentication works in Reactive Spring WebFlux REST API

Section 15: Method-level Security in Reactive Spring WebFlux applications

Lecture 85 Authentication vs Authorization

Lecture 86 Enable Method-level Security in Reactive Spring WebFlux application

Lecture 87 @PreAuthorized annotation

Lecture 88 Trying how @PreAuthorize annotation works

Lecture 89 Handle AuthorizationDeniedException

Lecture 90 @PostAuthorized annotation

Lecture 91 Trying how @PostAuthorize annotation works

Java developers interested in learning how to create reactive applications with Spring Framework