Какую библиотеку использует Spring Framework для реактивного программирования

«Какую библиотеку использует Spring Framework для реактивного программирования» — вопрос из категории Реактивное программирование, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Spring Framework использует Project Reactor в качестве основной библиотеки для реактивного программирования.

Project Reactor предоставляет реализации Flux (для потоков 0..N элементов) и Mono (для 0..1 элемента), которые являются частью Reactive Streams стандарта.

Пример:

val flux: Flux<String> = Flux.just("Hello", "Reactive", "World")
    .map { it.uppercase() }
    .subscribe { println(it) }

Также Spring поддерживает интеграцию с RxJava, но Reactor — это native-решение для Spring WebFlux.