Если вы проверите официальную документацию, есть небольшой раздел, который, я думаю, должен ответить на ваш вопрос:
Spring MVC или WebFlux?
Естественный вопрос, который нужно задать, но задает неправильную дихотомию. На самом деле, оба работают вместе , чтобы расширить диапазон доступных опций. Эти два устройства предназначены для непрерывности и согласованности друг с другом, они доступны бок о бок , и обратная связь с каждой стороны приносит пользу обеим сторонам. На следующей диаграмме показано, как эти два взаимосвязаны, что у них общего и что каждый поддерживает уникально:

Вы можете даже добавить оба по умолчанию будет использоваться обычное веб-приложение Spring MVC, но оно позволит вам использовать новый WebClient
, представленный в Spring 5. Это поведение описывается, в частности, здесь :
Обе веб-платформы отражают имена своих исходных модулей (spring-web mvc и spring-webflux) и сосуществуют бок о бок в Spring Framework. Каждый модуль не является обязательным. Приложения могут использовать один или другой модуль или, , в некоторых случаях оба - например, контроллеры Spring MVC с реактивным WebClient
.
Я не эксперт в этом вопросе, но, как и вы, мне было любопытно узнать об общих моментах обоих и их причинах. Вы можете найти более подробную информацию здесь: