トラシスラボ 技術ブログでタグ「maven」が付けられているもの

Maven+Spring+Hibernate+JPA+JUnit4環境構築

|

概要

今回は Maven + Spring Framework + Hibernate + JPA + JUnit の組み合わせで環境構築。

開発環境

項目
OS Windows XP Pro SP2
IDE 環境 Eclipse 3.3.2(Preiades All in One)
Java JDK 6 update 6
DB PostgreSQL 8.3

準備

次の手順までHibernateを使ったシンプルなJPA環境構築と同じように進める。
  • Maven プロジェクト作成
  • Java コンパイラー準拠レベルの設定
  • pom.xml を設定する
  • 設定ファイル作成
    • META-INF/persistence.xml
    • ehcache.xml
    • log4j.properties
  • BaseEntity, User クラス作成

pom.xml 修正

次のように修正する。

src/main/resources ソース・フォルダ

META-INF/persistence.xml

次のように修正する。 Maven を使う場合、エンティティクラスは src/main/java に、META-INF/persistence.xml ファイルなどは src/main/resources フォルダに置く。
この環境で Spring Framework + Hibernate にうまくクラスのアノテーションをスキャンしてもらうために、次のように記述している。

applicationContext.xml

Spring Framework の設定。
Spring Framework 2.5 からサポートされたいくつかの記述により、前のバージョンよりも記述が簡単になっている。

context:property-placeholder によって、jdbc.properties を読み込んでいる。
${jdbc.url} のように applicationContext.xml 内に記述すると置換される。

context:annotation-config によって、クラスをスキャンし、@Service などのアノテーションを解釈する。
<context:component-scan base-package="test.test" /> によってスキャンするパッケージを明示的に指定している。

tx:annotation-driven によって、@Transactional アノテーションを解釈する。

jdbc.properties

新たに作成。applicationContext.xml の中で ${jdbc.driverClassName} などが置換される。

Dao 作成

src/main/java フォルダの中で test.test.dao.UserDao クラスを作成する。
@Service アノテーションを指定すると、Spring Framework のビーンとして解釈され、他のビーンから @Resource アノテーションなどによって呼び出せる。

@Transactional アノテーションによって、このクラスのメソッド呼び出し時に、トランザクションがまだオープンされていなければ、自動的にオープンする。

JUnit4 によるテスト

テストケースの作成

src/test/java フォルダの中で test.test.DBTest を作成する。

2010年9月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30