Hands-On Reactive Programming with Spring 5.0

Hands-On Reactive Programming with Spring 5.0

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 1h 36m | 319 MB

Speed up your cloud apps with reactive design

With the growing requirement for things that make life easy, the need to write code that is more reliable, easier to scale, and more performant (by making your apps more responsive) has increased. Reactive programming is the solution to meeting these needs, helping you build scalable applications.

This course will introduce you to the concept of reactive programming and will also cover how reactive applications scale vertically rather than horizontally. You will then learn about the Spring Reactor project that is at the heart of Spring by creating a simple reactive app with the Flux and Mono APIs. You will create a reactive app that is ready for the cloud. You will then look at how to use this in a web context using the Spring Web Flux module and implement router functions to build reactive web services that work in the cloud. You will then debug your application and move on to a complete project example using Spring Web Flux, Spring Data, and router functions. Lastly, you will learn how to test your code using the reactor-test dependency.

By the end of the course, you will have learned to make your app responsive, reliable, and scalable by applying reactive principles with Spring 5.


  • How to add Reactive Flow to your application
  • Understand the internals of the Flux and Mono APIs for async processing
  • Create a reactive app for a cloud environment
  • Build REST applications with reactive routers
  • Debug an async reactive flow and reason about its execution time
  • Create a full end-to-end reactive flow in your app with Spring Data and R2DBC PostgreSQL
  • Perform automated testing of your reactive fluxes
Table of Contents

Explore Reactive Programming
1 The Course Overview
2 Setting up Reactive Applications with Spring Boot
3 Scaling Your Applications with Reactive Programming
4 Common Challenges with Reactive Programming
5 Easing the Use of Reactive Programming

Automated Testing of Your Application
6 Using Flux and Testing It
7 Using the StepVerifier API to Help with Unit Testing
8 Testing Delayed Publishers Using Flux
9 Testing Multithreading with flatMap and observeOn

Working with Spring Reactor in Cloud
10 Exploring Mono and Flux
11 Creating a Spring Cloud Application with the Reactor Dependency
12 Understanding Reactive Stream Backpressure
13 Combining Streams of Data with Zip Function

Reactive Programming with Spring WebFlux and Spring Boot
14 Explore Spring Web Flux Dependency
15 Creating a Spring WebFlux Application
16 Implement Reactive Web Services with Router Functions
17 Using Router Functions

Debug your Reactive Spring Application
18 Analyzing the Stack Traces in Your Application
19 Enabling the Additional Debugging Capabilities
20 Logging in Your Streams
21 Testing Time in Reactive Flows

Build a Reactive Spring Application with Spring Data
22 Setting up Spring Data with R2DBC PostgreSQL
23 Creating the Application Using Spring Data
24 Initializing the Database
25 Implementing Router Functions to Create a REST Endpoint
26 Using a Data Streaming Service