Maven依存関係Spring-WebとSpring-WebMVC


100

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

<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一人で使うべきですか?

回答:


134

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

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

spring-webSpring MVCを使用せず、Springがサポートする他のWeb関連テクノロジーを利用する場合にのみ依存する必要があります。


10
同意し、+ 1。しかし、まれなケースのシナリオ:spring-webmvcinturnを追加するspring-webとが追加されますが、spring-webmvcのバージョンが4.0.2で、別の依存関係(swagger-springmvcバージョン0.8.8)を追加すると、spring-webバージョン3.2.xが追加されます。この場合、クラスが見つからないという例外が発生する可能性があるため、ここではspring-web、バージョン4.0.2 を明示的に追加してバージョンを指定する必要があります。私は今日これに遭遇しました
スパイダーマン

7
@spiderman私は推移spring-web的な依存関係を除外しますswagger-springmvc
Roger

@ tomasz-nurkiewicz spring-jmsとspring-messagingモジュールの違い
伝説

1
REST APIとなるアプリケーションを作成したいが、ビュー(JSP)がまったく必要ない場合、何を使用する必要がありますか?spring-webまたはspring-webmvc?
Mohammad Eghlima

1
この場合の@MohammadEghlimaはspring-webを使用します
leeCoder

7

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

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

spring-webmvc-portletモジュール(別名Web-Portletモジュール)は、ポートレット環境で使用されるMVC実装を提供し、サーブレットベースのspring-webmvcモジュールの機能を反映します。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.