Get in Touch

Course Outline

Introduction to Reactive Programming

  • Blocking vs. non-blocking systems
  • Reactive Streams specification
  • Benefits and use cases

Project Reactor and Mono/Flux

  • Publisher, Subscriber, and Subscription
  • Working with Mono and Flux
  • Error handling and backpressure

Setting Up Spring WebFlux

  • Creating a Spring Boot WebFlux project
  • Configuring dependencies
  • Overview of WebClient vs. RestTemplate

Building Reactive REST APIs

  • Defining routes and handlers
  • Request mapping with RouterFunction
  • Reactive controllers and data binding

Integrating with Databases

  • Using R2DBC for reactive SQL
  • Working with MongoDB in reactive style
  • Connecting to external APIs reactively

Testing WebFlux Applications

  • Writing unit tests with StepVerifier
  • Integration testing with WebTestClient
  • Mocking data sources and services

Performance and Best Practices

  • Threading and scheduling in WebFlux
  • Debugging reactive code
  • Design patterns for scalable reactive apps

Deployment and Real-World Examples

  • Deploying WebFlux apps
  • CI/CD considerations
  • Case studies and usage in production

Summary and Next Steps

Requirements

  • Foundational knowledge of Java programming.
  • Prior experience in web application development.
  • Solid understanding of HTTP protocols and RESTful APIs.

Target Audience

  • Java developers exploring reactive programming for the first time.
  • Technical leads and architects evaluating Spring WebFlux for their projects.
  • Backend engineers aiming to construct non-blocking web applications.
 35 Hours

Testimonials (3)

Related Categories