Grails はある意味では, (巨大で複雑な) springframework (今やlightweightとは言いにくいよなぁ) の wrapper という側面がある. Grails をある程度突っ込んでいくと, springframework に触れざるを得ない. とは言え, springframework をまるごと学習するのは大変だ.
ということで, (本を書く都合もあって:-) Grails が springframework のどの部分を使っているか, Grails を使うに当たって springframework のどの部分が分かっていればいいか, ざっと調べてみた.
例えばspring のリファレンス・マニュアル (2.5.1) でいうと,
3. The IoC Container の特に 3.8 まで
4. Resources の全体
5. Validation , Data-binding, the BeanWrapper, and PropertyEditors の全体
9. Transaction management の 9.4 までと, 9.6
12. Object Relational Mapping (ORM) data access の 12.2, 7
13. Web MVC framework の 13.9, 12, 13 以外
Grails で使われている Spring の機能はざっとこんなところだと思う. 細かく言うと, ユーティリティ的なものとかもあるし, 見落としているのもあるかもしれないし, もしかしたら以下も見ておくといいかもしれないが,
7. Spring AOP API の一部
11. Data access using JDBC の一部
ま, こんなもんだろう. とは言え, 600 ページ近いリファレンスの 1/4 くらいに相当するかな? もちろん普通に使っている分には, これ全部知っている必要はないのだが.
# ここには別パッケージになっている WebFlow や, プラグインになっている Acegi Security, Quartz などに関連する部分は含んでいない