About

ドキュメント

プロジェクト文書

Built by Maven

概要

Doma JPetStoreは、SAStrutsとの連携方法を示すデモ用Webアプリケーションです。

このアプリケーションは、iBATISが提供する JPetStore 5.0 Example Application をベースに作成されています。

セットアップ

JDKのインストール

バージョン6以上のJDKをインストールします。 JREではなくJDKが必要であることに注意してください。 JDK 6 は以下のURLのサイトからダウンロードできます。

http://java.sun.com/javase/ja/6/download.html

Eclipseのインストール

バージョン3.5以上のEclipseをインストールします。 Pluggable Annotation Processing API をサポートしていれば、Eclipse以外のIDEであってもかまいませんが、 このドキュメントではEclipseを使うことを前提に説明を進めます。 Eclipseは以下のURLのサイトからダウンロードできます。

http://www.eclipse.org/downloads/

Eclipseは、バージョン6以上のJDKに含まれるJREで起動されるようにしてください。 明示的にJREを指定するには、-vm オプションを使用します。

-vm %JAVA_HOME%\bin\javaw.exe

Tomcatのインストール

Tomcatのバージョン6.xをインストールします。 Tomcatは以下のURLのサイトからダウンロードできます。

http://tomcat.apache.org/download-60.cgi

Sysdeo/SQLI Tomcat Launcherのインストール

アプリケーションをEclipseから動作させるには、EclipseプラグインのSysdeo/SQLI Tomcat Launcher をインストールsます。 Sysdeo/SQLI Tomcat Launcher は以下の更新サイトからインストールできます。

http://eclipse.seasar.org/updates/3.2/

Sysdeo/SQLI Tomcat Launcher をインストールしたら、メニューの「Window」 - 「Preference」 ー「Tomcat」 よりTomcatのバージョンとホームを指定してください。

Doma Toolsのインストール

必須ではありませんが、Doma ToolsをインストールするとDaoのメソッドと対応するSQLファイルの間で相互移動が簡単に行えます。

プロジェクトのインポート

ダウンロードのページからdoma-jpetstore-x.x.x.zipをダウンロードし、 Eclipseへインポートしてください。インポートの具体的な手順は次のとおりです。

  • Eclipseのメニューから「File」 - 「Import」を選択します。
  • 「Existing Projects to Workspace」を選択し、「Next」ボタンを押します。
  • 「Select archive file」のラジオボタンをチェックし、ダウンロードしたdoma-jpetstore-x.x.x.zipを選択します。
  • 「Projects」の項目に表示される「doma-jpetstore」のチェックボックスをチェックし、「Finish」ボタンを押します。

アプリケーションの起動

プロジェクトを右クリックし、コンテキストメニューから「Tomcatプロジェクト」 - 「コンテキスト定義を更新」 を実行します。 そして、メニューの「Tomcat」 - 「Tomcat起動」 を実行します。

Tomcatの起動が完了したことを確認し、http://localhost:8080/doma-jpetstore/ にアクセスしてください。

制限事項

Internet Exploreで表示すると画面レイアウトが崩れます。 オリジナルのJPetStore 5.0 Example ApplicationのCSSがInternet Exploreに対応できていないようです。 Internet Exploreでもレイアウトが崩れないように直してくれる方がいたら歓迎いたします。

アプリケーションの特徴

このアプリケーションでは、次の事柄を示します。

  • Seasar2で管理されたデータソースの利用方法
  • Seasar2で管理されたトランザクションマネジャーとの連携方法
  • ログ管理の統合方法(JdbcLoggerの実装例)
  • HOT deploy環境下でSQLファイルの変更を即座に認識させる方法(SqlFileRepositoryの実装例)

このアプリケーションは、Seasar2の機能の利用について、次の方針に基づいて作られています。

  • DI(Dependency Injection)はActionFormをActionに注入する場合にのみ使用する
  • ServiceクラスやDaoクラスはアプリケーションでインスタンス化する
  • HOT deploy非対象パッケージをconvention.diconに登録し、HOT deploy非対象パッケージからHOT deploy対象パッケージへの依存関係はつくらない