В чем разница между следующими зависимостями?
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
против
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
Если я включаю spring-webmvc
только, то spring-web
добавляется неявно.
Когда использовать в spring-web
одиночку?
spring
maven
spring-mvc
Махендран
источник
источник
spring-webmvc
inturn добавляетspring-web
, но скажем, если у вас есть версия spring-webmvc как 4.0.2, и вы добавляете другую зависимость, скажем,swagger-springmvc
версию 0.8.8, тогда она добавляетspring-web
версию 3.2.x. В этом случае вы можете получить исключения класса, не найденного, поэтому здесь вы должны явно добавитьspring-web
и версию 4.0.2. Я столкнулся с этим сегодняspring-web
зависимость вswagger-springmvc
Из официального документа: Модуль spring-web предоставляет базовые функции веб-ориентированной интеграции, такие как функция загрузки нескольких файлов и инициализация контейнера IoC с использованием слушателей сервлетов и контекста веб-приложения. Он также содержит HTTP-клиент и связанные с Интернетом части поддержки удаленного взаимодействия Spring.
Модуль spring-webmvc (также известный как модуль Web-Servlet) содержит Spring Model-View-Controller (MVC) и реализацию веб-служб REST для веб-приложений. Платформа Spring MVC обеспечивает четкое разделение кода модели предметной области и веб-форм и интегрируется со всеми другими функциями Spring Framework.
Модуль spring-webmvc-portlet (также известный как модуль Web-Portlet) предоставляет реализацию MVC для использования в среде Portlet и отражает функциональность модуля spring-webmvc на основе сервлетов.
https://docs.spring.io/spring/docs/4.3.22.RELEASE/spring-framework-reference/htmlsingle/#overview-web
источник