web-dev-qa-db-ja.com

Maven依存性Spring-WebとSpring-WebMVC

次の依存関係の違いは何ですか?

<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を単独で使用する必要がありますか?

87
Mahendran

spring-webは、いくつかの便利なサーブレットフィルター、Spring HTTP Invoker、他のWebフレームワークやHTTPテクノロジーと統合するためのインフラストラクチャなど、HTTPのコア統合を提供します。ヘシアン、バーラップ。

spring-webmvcは、Spring MVCの実装です。 spring-webmvc依存 on spring-web。したがって、これを含めると推移的にspring-webが追加されます。 spring-webを明示的に追加する必要はありません。

Spring MVCを使用せず、Springがサポートする他のWeb関連技術を利用したい場合は、spring-webのみに依存する必要があります。

118

公式ドキュメントから:spring-webモジュールは、マルチパートファイルアップロード機能や、サーブレットリスナーとWeb指向のアプリケーションコンテキストを使用したIoCコンテナの初期化など、基本的なWeb指向の統合機能を提供します。また、HTTPクライアントと、SpringのリモートサポートのWeb関連部分も含まれています。

Spring-webmvcモジュール(Web-Servletモジュールとも呼ばれます)には、Springのmodel-view-controller(MVC)およびREST Webアプリケーション用のWebサービス実装が含まれます。SpringのMVCフレームワークは、明確な分離を提供しますドメインモデルコードとWebフォームの間で、Spring Frameworkの他のすべての機能と統合します。

Spring-webmvc-portletモジュール(Web-Portletモジュールとも呼ばれる)は、ポートレット環境で使用されるMVC実装を提供し、サーブレットベースのspring-webmvcモジュールの機能をミラーリングします。

https://docs.spring.io/spring/docs/4.3.22.RELEASE/spring-framework-reference/htmlsingle/#overview-web

1
LiLi