The HIRO Says

If you smell what The HIRO is cooking!!!

slim3での基本的な開発手順

slim3 には、必要なプログラムを自動生成する機能が備わっています。
ですので、まずプログラムを自動生成し、要件に応じてロジックを個別に追加していくというのが基本的な開発スタイルになります。
今回は、この基本的な開発スタイルについて説明します。


1.プログラムの自動生成方法

プログラムの自動生成は、Ant を使用して行います。
slim3-blank プロジェクトの直下に、build.xml があります。
これを Eclipse 上で開くと、”gen-xxx”という名前のタスクを複数見つけることができます。
これらを実行することで、必要なプログラムを生成することができます。


ちなみに、各タスクと作成できる成果物は以下の通りです。

タスク名 成果物
gen-controller FrontController+JSP
gen-controller-without-view FrontController(JSP なし)
gen-model Model(BigTable へ永続化するオブジェクト)
gen-service Service(ビジネスロジック
gen-gwt-service Google Web Toolkit に対応した Service


以下では、上記のうち特に使用頻度の高いであろう、
gen-controller・gen-model・gen-service の使い方を説明します。
※個別のプログラムについては、後日説明します。


2.gen-controller の使い方

(1)Eclipse で、build.xml を開きます。
(2)gen-controller タスクを右クリックし、
   「Run As」→「Ant Build」を選択します。

(3)ダイアログが表示されるので、
   controller のパスを指定します。
 (a) controller のパスは、
   "/" で始め、"/" で終了するようにします。
 (b) controller のパスは、小文字で指定します。
 (c) サブディレクトリを指定したい場合は、
   "/<ディレクトリ名>/<ディレクトリ名>/
   /" のように指定します。
 (d) 区切り文字に "." を指定すると
   エラーになるので注意して下さい。

(4)次の3つのプログラムが生成されます。

(a) src/<パッケージルート>/controller/<入力したパス>/IndexController.java
(b) test/<パッケージルート>/controller/<入力したパス>/IndexControllerTest.java
(c) war/<入力したパス>/index.jsp


プログラム生成後、http://localhost:8080/<入力したパス>/ を指定すると、追加した JSP を表示することができます。
※hot deploy なので、サーバの再起動は不要です。


3.gen-model の使い方

(1)Eclipse で、build.xml を開きます。
(2)gen-model タスクを右クリックし、
   「Run As」→「Ant Build」を選択します。

(3)ダイアログが表示されるので、
   Model のクラス名を指定します。
 (a) クラス名は、一文字目を大文字にします。
 (b) パッケージを指定したい場合は、
   "a.b.<クラス名>" のように指定します。
 (c) 区切り文字に "/" を指定すると
   エラーになるので注意して下さい。

(4)次の2つのプログラムが生成されます。

(a) src/<パッケージルート>/model/<入力したパッケージ>/<入力したクラス名>.java
(b) test/<パッケージルート>/model/<入力したパッケージ>/<入力したクラス名>Test.java


4.gen-service の使い方

基本的には、gen-model と同様です。
(1)Eclipse で、build.xml を開きます。
(2)gen-service タスクを右クリックし、
   「Run As」→「Ant Build」を選択します。

(3)ダイアログが表示されるので、
   Service のクラス名を指定します。
 (a) クラス名は、一文字目を大文字にします。
 (b) パッケージを指定したい場合は、
   "a.b.<クラス名>" のように指定します。
 (c) 区切り文字に "/" を指定すると
   エラーになるので注意して下さい。

(4)次の2つのプログラムが生成されます。

(a) src/<パッケージルート>/service/<入力したパッケージ>/<入力したクラス名>.java
(b) test/<パッケージルート>/service/<入力したパッケージ>/<入力したクラス名>Test.java


次回

次回は、Model クラスについて詳細に触れる予定です。