Struts2 + Spring + MyBatis (その1)の続きです。
WEBアプリケーション開発で使用するフレームワークをStruts2.2 + Spring2.5 + MyBatis2.3 で構成してみます。
(その2)では、各xmlファイルとpropertiesファイルを揃えます。
-
必要な設定ファイルを記載しておきます。
(省略)と書かれているファイルの内容については、一例を記述する程度に留まるので説明しません。詳細について知りたい場合は、解説している他サイトを参照することをお勧めします。 設定ファイル web.xml Servletの配備記述子 struts.xml Struts2の設定ファイル (省略) struts.properties Struts2のパラメータファイル (省略) applicationContext.xml Springの設定ファイル detabase.properties データベースのパラメータファイル (省略) sqlMapConfig.xml MyBatisの設定ファイル (省略) tiles.xml Tilesの設定ファイル (省略)
- web.xml
-
「WEB-INF」フォルダ内にある配備記述子です。これが無いと始まりません。
どのプロジェクトでも共通した記述なので、ほぼそのままコピーすれば使えます。
Servlet2.5の構文で書いてみます。 -
contextConfigLocation classpath:applicationContext*.xml struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter actionPackages sample.action struts2 /* JspSupportServlet org.apache.struts2.views.JspSupportServlet 1 JspSupportServlet /* org.springframework.web.context.ContextLoaderListener org.apache.struts2.tiles.StrutsTilesListener 30 index.html index.jsp http://tiles.apache.org/tags-tiles /WEB-INF/tld/tiles-jsp.tld -
Struts2とSpringを使用するには、上記のように記述します。
画面(View)の実装では、JspではなくFreeMarkerを使用します。 FreeMarker内でJspのtaglib(tiles等)を使用するためには、「JspSupportServlet」を動作させておく必要があります。
- applicationContext.xml
- applicationContex.xmlはweb.xmlに記述した「classpath:applicationContext*.xml」で参照される場所に配置します。
- 以下の内容は記述例です。
-
classpath:database.properties PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED,readOnly transactionInterceptor *ServiceImpl -
MyBatis(iBatis)をSpringの管理下に置きます。
Springがトランザクションの管理(Begin、Rollback、Commit等)を、MyBatisがSQLの実行のみを担当するといった役割分担を可能にするためです。
そうすることで、MyBatisをSlim3に置き換えた場合にも同じ設計で実装できます。
大半を省略しましたが、設定ファイルについては以上です。
次回は、Google App Engine上でSlim3と連携させてみます。
0 件のコメント:
コメントを投稿