Adding Reactor to the project
Here, we assume that the reader is already familiar with the Reactive Streams specification. If not, it is briefly described in the previous chapter. The Reactive Streams specification is essential in the current context, because Project Reactor is built on top of it and org.reactivestreams:reactive-streams is the only mandatory dependency of Project Reactor.
Adding Project Reactor as a dependency to our application is as simple as adding the following dependency to the build.gradle file:
compile("io.projectreactor:reactor-core:3.2.0.RELEASE")
At the time of writing, the latest version of the library is 3.2.0.RELEASE. This version is also used in Spring Framework 5.1.
It is also often worth adding the following dependency, as this provides the necessary toolset for testing reactive code, which, obviously, we also need to cover with unit tests:
testCompile("io.projectreactor:reactor-test:3.2.0.RELEASE")
In this chapter, we are going to use some simple testing techniques for Reactive Streams. Additionally, Chapter 9, Testing the Reactive Application, covers topics regarding reactive code testing in more detail.
Now that we have Reactor in our application classpath, we are ready to experiment with Reactor's reactive types and operators.