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
- An understanding of Java programming
- Experience with web application development
- Familiarity with HTTP and RESTful APIs
Audience
- Java developers new to reactive programming
- Technical leads and architects exploring Spring WebFlux
- Backend engineers seeking to build non-blocking web applications
Testimonials (1)
The training helped me expand my knowledge and understanding of Burp Suite. I also realized that what I had learned through self-study was still quite limited. This training was very helpful to me as a QA because Burp Suite is a valuable tool for performing security testing and improving the overall quality of application testing. I will continue exploring this tool and learning more about its features and capabilities.