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 を渡してくれるんでしょうね。