次の依存関係の違いは何ですか?
<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-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
のみに依存する必要があります。
公式ドキュメントから: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モジュールの機能をミラーリングします。