
Review traditional Spring MVC blocking applications built with Spring Web MVC, including the three-layer architecture (presentation, service, data), synchronous requests, and Rest controllers returning JSON or XML.
Learn how the Spring framework enables reactive non-blocking applications using Spring WebFlux, Project Reactor, and the Mono and Flux types, as defined by the Reactive Streams specification.
Configure a spring webflux app to create a users table using a schema.sql file and preview it in the H2 web console, with spring.sql.init.mode controlled for embedded H2.
Explore the presentation layer of a reactive spring boot app by building Rest controllers, handling HTTP requests, and converting JSON to Java objects while validating input and ensuring non-blocking responses.
Define a Java method to handle http post requests at /users using a post mapping annotation, enabling post requests to localhost:8080/users and preparing to read the request body.
Learn reactive programming with spring webflux by returning a user rest object in an HTTP response via Mono, using map to expose id, first name, last name, and email.
Learn to read url query string parameters for pagination by reading offset and limit with request param annotation, supplying default values, and using these to fetch data in pages.
Build a non-blocking, reactive Spring Boot app by implementing the service layer with core business logic and dependency injection to support create, get, and get all users in the controller.
Create a service class in service layer that implements user service interface with create user method accepting a create user request and returning a user rest object, annotated with @Service.
Run the app, create a new user via Postman, and verify stored details in the H2 database, noting the need to encrypt passwords in future security work.
Learn to handle exceptions in reactive Spring Boot microservices using the onErrorMap operator, transforming a duplicate key exception into a custom HTTP response with status 409 and the original message.
Validate custom bean validation error responses in Spring WebFlux by running the app, sending a create user request with short names, and observing concatenated, comma-separated error messages.
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 questions
By the end of this course, you’ll be able to create fast, secure, and scalable Reactive applications with Spring WebFlux.