Get in Touch

Course Outline

Introduction to Reactive Programming

  • Contrasting blocking versus non-blocking systems
  • The Reactive Streams specification
  • Key benefits and applicable use cases

Project Reactor and Mono/Flux

  • Understanding Publishers, Subscribers, and Subscriptions
  • Practical work with Mono and Flux types
  • Strategies for error handling and backpressure

Setting Up Spring WebFlux

  • Creating a Spring Boot WebFlux project
  • Configuring necessary dependencies
  • Comparing WebClient with RestTemplate

Building Reactive REST APIs

  • Defining routes and handlers
  • Request mapping using RouterFunction
  • Implementing reactive controllers and data binding

Integrating with Databases

  • Utilizing R2DBC for reactive SQL operations
  • Working with MongoDB in a reactive manner
  • Connecting to external APIs reactively

Testing WebFlux Applications

  • Writing unit tests using StepVerifier
  • Conducting integration testing with WebTestClient
  • Mocking data sources and services

Performance and Best Practices

  • Managing threading and scheduling in WebFlux
  • Debugging techniques for reactive code
  • Design patterns for building scalable reactive applications

Deployment and Real-World Examples

  • Deploying WebFlux applications
  • CI/CD considerations
  • Case studies and production usage examples

Summary and Next Steps

Requirements

  • A solid understanding of Java programming
  • Prior experience in web application development
  • Familiarity with HTTP protocols and RESTful APIs

Target Audience

  • Java developers who are new to reactive programming
  • Technical leads and architects investigating Spring WebFlux
  • Backend engineers looking to develop non-blocking web applications
 35 Hours

Testimonials (2)

Upcoming Courses

Related Categories