聖杯の探索

昨年業界で流行ったものの一つで,Ruby On Railsに代表される
フルスタックアプリケーションフレームワークってのがあるけど,
それのJava版ってのが幾つかあって,自分が目を付けてるのが,
今回紹介する,Grails.
名前は当初,Groovy On Railsだったんだけど,
流石にRoRに被っててマズイというか本家Railsの開発者チームからクレームがついて,
今の名前,Grailsになったとのこと.


シンボルマークはアーサー王の探索譚で有名な,聖杯.
ViewをGroovyベースなJSPである,GSPって言語で記述して,
ModelはHibernate3を核にしたドメインクラス生成,
で,それらをSpringで結合するみたいな図式.
コマンド一つでドメインクラスの生成からコントローラ,テストの生成,
内蔵Webコンテナでの稼働や,Warファイルの作成まで出来ちゃう.
ついでにEclipse用のプロジェクトファイルも吐いてくれます.


インストールは適当なディレクトリに解凍して,
GRAILS_HOMEと,JAVA_HOMEを環境変数に設定するだけ.
で,アプリケーションを作るには適当なディレクトリで,

grails create-app

って打つと,プロジェクト名を聞かれるんで,適当に答える.
んで,そのディレクトリ構造一式が出来るんで,その中に入って,
ドメインクラスを作る.こいつがテーブルにもなる.

cd
grails create-domain-class

で,grails-app/domain/を編集して,適当なプロパティとか追加.
コントローラとかを作る.

.groovyの中身
class Book {
Long id
Long version
String title  <--ここ追加
String author  <--ここ追加
}
grails generate-all ...

これでコントローラとDBにもレコードが出来る.
ちなみにDB設定はgrails-app/confの中.
デフォルトはhsqldbになってるので適宜書き換える.

最後に起動.

grails run-app

これでブラウザ起動して,
http://localhost:8080//
とアクセスすると,そのクラスのCRUDアプリケーションが作られている,と.
grails war ってコマンドでwarファイルで括るとそのまま,JBOSSTomcat
デプロイできるし,
GSPもテンプレートとスクリプトレット部分が分かれてるし,
Hibernate3で普通に設定ファイル書いて既存のスキーマからオブジェクト作ることも出来るらしい.
まぁそんなこんなでちょっとしたシステム作るには便利そうなアイテムなのです.