Grails Quick Start(5)

さて、ほぼ終わりに差し掛かっていた Quick Startチュートリアルですが、ひとつ飛ばしたのがありました。

Domain Classを作ったところで、アプリケーション動作時に簡易的にテストデータを用意する方法が説明されています。

具体的には、grails-app\conf\ApplicationBootStrap.groovy にテストデータを作るコードをあらかじめ書き込んでおくようです。
firstapp\grails-app\conf\ApplicationBootStrap.groovy:

class ApplicationBootStrap {
     @Property Closure init = { servletContext ->
     }
     @Property Closure destroy = {
     }
}


initクロージャに、以下のように記述します。

     @Property Closure init = { servletContext ->
         new Book(author:"Stephen King",title:"The Shining").save()
         new Book(author:"James Patterson",title:"Along Came a Spider").save()
     }

Bookオブジェクトを2つ作成して、それぞれsave()メソッドで永続化することで、データベースにデータが作成されるようですね。


アプリケーションを再起動して結果を確認してみると。。

おー、出た出た。


ちなみに、servletContext ->って何でしょうか? ここによれば、クロージャへの引数みたいなもののようですね。
アプリケーションフレームワークがこのロジックを呼び出すときに servletContext を渡してくれるんでしょうね。