インストール方法
Rooのインストール方法について説明する。Rooは、Linux、Mac及びWindows環境で動作する。筆者の環境では、OSは、Windows XP Service Pack 3とMac OS X 10.6.2で動作確認を行った。Rooを動作させるためには、Javaのバージョンは、5以上が必要となっている。 アプリ自体の動作確認には、Tomcat6.0.24を使用した。
また、執筆時点の最新バージョンRoo 1.0.2では、作成されたプロジェクト及び一部のコマンドでApache Mavenが必要となるので合わせてインストールする必要がある。Mavenのバージョンは、2.0.9以上が必須となっている。Mavenはこちらからダウンロードすることができる(ここでは、JavaとMavenのインストールについては省略する)。
Rooは、こちらからダウンロードすることができる。Rooはzip形式で配布されている。
ダウンロードしてきたRooのzipファイルは任意のディレクトリに格納してほしい。Windowsの場合は、「$ROO_HOME/bin」を環境変数PATHに追加する。これだけでインストールは完了である。Macの場合は、「sudo ln -s $ROO_HOME/bin/roo.sh /usr/bin/roo」をターミナルで実行すればよい。
コマンドラインで、「roo」と入力して、以下のような画面が表示されればインストールが成功したことになる。
Rooは、SpringSource Tool Suite(STS)との統合も行われているため、コマンドプロンプトやターミナル以外にもSTSの中からRoo Shellを実行することができる。
Rooを使ってみる
ここからは、Rooの機能について簡単に解説する。
Rooでは、TABボタンを入力することでキーアシストしてどのようなコマンドを入力できるのかを知ることができる。また、「hint」と入力すれば次に何をすべきかをRooがヒントを示してくれる(但し英語)。
Rooでの開発は、「hint」コマンドを入力しながら対話的に行っていくことになる。Rooのsamplesフォルダにある拡張子が.rooとなったファイルに書かれた内容を実行するとサンプルアプリを作成することができる。Rooを勉強するには最初に「.roo」ファイルを読むと開発の流れを理解できるだろう。
まずは、以下のように入力してプロジェクト(clinic)を作成してみよう。
$mkdir clinic
$cd clinic
$roo
roo>project --topLevelPackage com.springsource.petclinic
すると、以下のような実行結果が表示されるはずだ。
Created D:\clinic\pom.xml
Created SRC_MAIN_JAVA
Created SRC_MAIN_RESOURCES
Created SRC_TEST_JAVA
Created SRC_TEST_RESOURCES
Created SRC_MAIN_WEBAPP
Created SRC_MAIN_RESOURCES\META-INF\spring
Created SRC_MAIN_RESOURCES\META-INF\spring\applicationContext.xml
Created SRC_MAIN_RESOURCES\META-INF\spring\log4j.properties
プロジェクトを作成するコマンドは「project」だ。--topLevelPackageでルートパッケージを指定する。コマンドを入力するといくつかのファイルが作成される。
次に「hint」コマンドを入力すると「persistence setup」コマンドでDBの設定を行えと指示されるので、以下のコマンドを入力する。
roo>persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
この結果、以下のような実行結果が表示される。
Created SRC_MAIN_RESOURCES\META-INF\persistence.xml
Created SRC_MAIN_RESOURCES\META-INF\spring\database.properties
Managed SRC_MAIN_RESOURCES\META-INF\spring\applicationContext.xml
Managed ROOT\pom.xml
providerには、HIBERNATEを指定しているが、その他にECLIPSELINKやOPENJPAを選択することもできる。databaseには使用するDBを指定する。
Rooでは、H2、HSQLDB、SQLServer、MySQL、Oracle、PostgreSQL、Sybaseが利用できる。
Rooの開発では続いて、Entityクラスの作成やフィールドの作成を行っていくことになる。
ここで作成したclinicプロジェクトの続きは、Rooのsamplesフォルダにclinic.rooというファイルの内容を実行すればアプリを作成することができる。なお、作成したプロジェクトをEclipseに取り込むには、「perform eclipse」コマンドを実行する。
実行後、Eclipseからインポートすれば取り込むことができる。