Spring WebFlux internally uses Project Reactor and its publisher implementations, Flux and Mono.
The new framework supports two programming models:
Annotation-based reactive components
Functional routing and handling
We'll focus on the annotation-based reactive components, as we already explored the functional style – routing and handling in another tutorial.
Let's start with the spring-boot-starter-webflux dependency, which pulls in all other required dependencies:
spring-boot and spring-boot-starter for basic Spring Boot application setup
reactor-core that we need for reactive streams and also reactor-netty