Mavenでの春
目次
1. 概要
このチュートリアルでは、the Spring dependencies via Mavenを設定する方法を説明します。 最新のSpringリリースはon Maven Centralにあります。
2. Mavenによる基本的なSpringの依存関係
Springは高度にモジュール化されるように設計されています。Springのある部分を使用しても、別の部分を使用する必要はありません。 たとえば、基本的なSpring Contextには、PersistenceまたはMVC Springライブラリがない場合があります。
the spring-context dependencyのみを使用する基本的なMaven setupから始めましょう。
3.2.8.RELEASE
org.springframework
spring-context
${org.springframework.version}
runtime
この依存関係–spring-context –は、実際のSpringインジェクションコンテナを定義し、spring-core、spring-expression、spring-aop、およびspring-beansの少数の依存関係があります。 これらは、いくつかのcore Spring technologiesのサポートを有効にすることでコンテナを拡張します:Core Springユーティリティ、Spring Expression Language(SpEL)、Aspect Oriented Programmingサポート、およびJavaBeans mechanism。
runtime scopeで依存関係を定義していることに注意してください。これにより、Spring固有のAPIにコンパイル時の依存関係がないことが保証されます。 より高度なユースケースでは、選択したSpring依存関係からruntimeスコープが削除される場合がありますが、より単純なプロジェクトでは、フレームワークを最大限に活用するためのno need to compile against Springがあります。
また、Spring 3.2以降、there is no need to define the CGLIB dependency(現在はCGLIB 3.0にアップグレードされています)–再パッケージ化され(すべてのnet.sf.cglibパッケージがorg.springframework.cglibになりました)、Springコア内に直接インライン化されていることにも注意してください。 JAR(詳細については、the JIRAを参照してください)。
3. Mavenを使用したSpring Persistence
ここで、the persistence Spring dependencies –主にspring-ormを見てみましょう。
org.springframework
spring-orm
${org.springframework.version}
これには、HibernateTemplateやJpaTemplateなどのHibernateおよびJPAのサポートに加えて、永続性に関連するいくつかの追加の依存関係(spring-jdbcおよびspring-tx)が付属しています。
JDBCデータアクセスライブラリは、Spring JDBC supportとJdbcTemplateを定義し、spring-txは非常に柔軟なTransaction Management Abstractionを表します。
4. Mavenを使用したSpring MVC
Spring Webとサーブレットのサポートを使用するには、上記のコア依存関係に加えて、2つの依存関係をpomに含める必要があります。
org.springframework
spring-web
${org.springframework.version}
org.springframework
spring-webmvc
${org.springframework.version}
spring-web依存関係には、サーブレット環境とポートレット環境の両方に共通のWeb固有のユーティリティが含まれ、spring-webmvc enables the MVC supportはサーブレット環境に含まれます。
spring-webmvcには依存関係としてspring-webがあるため、spring-webmvcを使用する場合は、spring-webを明示的に定義する必要はありません。
5. Mavenを使用したSpring Security
Security Maven dependenciesについては、Spring Security with Mavenの記事で詳しく説明しています。
6. Mavenによる春のテスト
Spring Test Frameworkは、次の依存関係を介してプロジェクトに含めることができます。
org.springframework
spring-test
${spring.version}
test
Spring 3.2の時点で、Spring MVCテストプロジェクトはコアテストフレームワークに含まれているため、spring-testの依存関係を含めるだけで十分です。
7. マイルストーンを使用する
Springのリリースバージョンは、Maven Centralでホストされています。 ただし、プロジェクトでマイルストーンバージョンを使用する必要がある場合は、カスタムSpringリポジトリをpomに追加する必要があります。
repository.springframework.maven.milestone
Spring Framework Maven Milestone Repository
http://repo.spring.io/milestone/
このリポジトリが定義されていると、プロジェクトは次のような依存関係を定義できます。
org.springframework
spring-core
3.2.0.RC2
8. スナップショットを使用する
マイルストーンと同様に、スナップショットはカスタムリポジトリでホストされます。
repository.springframework.maven.snapshot
Spring Framework Maven Snapshot Repository
http://repo.spring.io/snapshot/
SNAPSHOTリポジトリをpom.xmlで有効にすると、次の依存関係を参照できます。
org.springframework
spring-core
3.3.0.BUILD-SNAPSHOT
同様に– 4.xの場合:
org.springframework
spring-core
4.0.3.BUILD-SNAPSHOT
9. 結論
この記事では、Spring with Mavenの使用に関する実際的な詳細について説明します。 ここに示されているMavenの依存関係は、もちろん主要なものの一部であり、他のいくつかは言及する価値があり、まだカットされていません。 それでも、これはプロジェクトでSpringを使用するための良い出発点であるはずです。