Spring Web - это часть Spring Framework, предоставляющая функциональность для создания веб-приложений. Он включает модули Spring MVC и Spring WebFlux, поддерживающие соответственно сервлетный API и реактивный стек.
Ключевые компоненты Spring Web:
DispatcherServlet - центральный контроллер, маршрутизирующий входящие запросы.@Controller и @RestController для определения контроллеров.@RequestMapping, @GetMapping и т.д.).Сравнение Spring MVC и Spring WebFlux:
| Характеристика | Spring MVC | Spring WebFlux |
|---|---|---|
| Стек I/O | Блокирующий (Servlet API) | Неблокирующий (Реактивный) |
| Архитектура | Thread-per-request | Event loop |
| Пропускная способность | Ниже при высоких нагрузках | Выше при высоких нагрузках |
| Сложность | Проще | Сложнее (требует понимания реактивного программирования) |
| Типичное применение | Традиционные веб-приложения | Высоконагруженные, реактивные сервисы |
Таким образом, Spring Web предоставляет мощные инструменты для создания как традиционных, так и реактивных веб-приложений на Java, обеспечивая гибкость и высокую производительность.