スプリング3.0の依存関係噴射の最小瓶
-
27-09-2019 - |
質問
同様に 以前の春のバージョンに関するこの質問, 、アプリケーションがspringを使用するために必要な最小依存関係は何ですか 3.0 依存関係の注入のみ?アプリケーションコンテキストは、XMLのみで構成されます。スプリングはロギングフレームワークに依存するため、ロギング用にこれらの瓶がすでに含まれていると仮定します。
- jcl-over-slf4j.jar
- logback-classic.jar
- logback-core.jar
- slf4j-api.jar
解決
別の答えで述べたように、メイベンは真の道です。もしも;ただし、次に、次に、のセクション「1.2.1コアコンテナ」に基づいて迷うことを選択します。スプリングリファレンス 私はこれらがコアスプリング機能の最小ジャーであると信じています:
- org.springframework.asm-3.0.4.Release.jar
- org.springframework.beans-3.0.4.Release.jar
- org.springframework.context-3.0.4.Release.jar
- org.springframework.core-3.0.4.Release.jar
- org.springframework.expression-3.0.4.Release.jar
編集:Wikiフォーマットを使用して、リストをソートしました。
Spring 3.2に更新:ASMは3.2分布の一部ではないようです。以下は春3.2のリストです。
- Spring-Beans-3.2.0.Release.jar
- Spring-Context-3.2.0.Release.jar
- Spring-Core-3.2.0.Release.jar
- Spring-Expression-3.2.0.Release.jar
他のヒント
これを確立するための最良かつ信頼できる方法は、Mavenプロジェクトを作成し、スプリングコア、スプリングバンドル、スプリングコンテキストの依存関係を追加することです。このプロジェクトを構築/インストールすると、Mavenは必要になります。
YMMV、しかし私は次のことをします:
まず、ベースライン依存関係バージョンを確保するために、依存関係管理セクションにスプリングボムをインポートします。
<properties>
<spring.version>3.2.6.RELEASE</spring.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>${spring.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
次に、ビルド/依存関係のセクションで、Bean、コンテキスト、コアをインポートし、XML構成を介してSpringを構成する予定がある場合(またはテストハーネスにSpring XML構成を使用する場合の場合はテストスコープを使用する場合)。
ノート: この例は3.2.xです。 3.2.xの前にSpringを使用する必要がある場合は、ASMを明示的に含める必要があります。 1つの可能性は、3.2.x以下の春のバージョンでのみアクティブ化されたプロファイルを使用することです。
<build>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<!-- inlines asm since 3.2.x -->
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<scope>test</scope><!-- or compile/provided if used beyond testing -->
</dependency>
</dependencies>
</build>