and its functional incarnation reactive functional programming
are declarative programming paradigms
and the run-to-completion behaviour it entails as well as Node.js’s non-blocking I/O calls
lend themselves to an event-driven programming style that deals with asynchronous behaviour where both number and frequency of events aren’t known beforehand.
Reactor is a library that introduces this paradigm to Java. Spring WebFlux is a framework that allows you to write Spring and Spring Boot web applications in this declarative manner. Vladimir Fomene has published an article at Auth0 that provides an in-depth introduction to Spring WebFlux and how to use it.