「プロになるためのSpring入門」を読んだ
こんにちは、庄司です。
今日は七夕ですね、皆さんはどんな願い事をしましたか?
話は変わりますが、私は 2005 年前後から Spring Framework を使った Web アプリケーションの設計、開発に携わってきています。Spring は進化拡大を続けていて、支援するさまざまな現場で、どこから説明すればいいのだろうと悩む場面も多くあります。
そうした中で、今回「プロになるためのSpring入門」のレビュー機会を与えられたことはとてもありがたいことです。
構成
#この本は、基本編と詳細編そして Appendix の3部から構成されています。
基本編は Spring の概要に始まり、DI (Dependency Injection) パターンやデータベースアクセス、Thymeleaf (タイムリーフ)、Spring Security などのトピックが丁寧に概説されています。
詳細編はハマりやすいシングルトンやトランザクション管理をとりあげ、さらに後半ではユニットテストから E2E テストのトピックが説明されています。
最後の Appendix では基本編や詳細編で使用したキーワードから抽出して、深掘りした解説があります。
肥大化した Spring の枝葉に発散せず、基本的な事、重要な事、さらにはテストの重要性といった、ポイントをおさえ、そこから逸脱することなくコンパクトにまとめているところが良いです。
ほとんどの章には、別途ダウンロードできるハンズオンが用意されていて、各章で解説されていることを実際にコードを動かしながら確認できます。実際、文章だけだとなかなか自分のものにならないので、これもとても良いです。
読者のターゲット
#サンプルコードを読んだり、ハンズオンでコードをある程度書ける必要があるので、Java 言語についてはある程度の理解が必要です。
Java 言語についてはある程度理解できていて、Spring について基本から学びたいと考えている人にとってはとても良い本だと思います。
Spring 初心者だけでなく、Spring を使ったデザインの説明をする役割を持つ人にもおすすめできます。
参考までに Java 言語については「Java本格入門」や「プロになるJava」が良いでしょう (後者は Spring Boot が登場するので重複する部分があるかもしれません)。
おわりに
#本を一通り読み、ハンズオンのコードを眺めてみて、研修テキストとして最適なのではと思いました。
この本に書かれたことをベースに、各プロジェクトで使用している部分を補強して使用できそうです。
例えば、SAML や OAuth の使用方法を補強したり、JPA や iBatis の使用方法を補強したり、クラウド環境への適用方法を補強したりといったことが考えられます。
無知を披露するようですが「フラッシュスコープ」という存在をこの本で初めて知るという、私自身にも新しい学びがありました。ですので、Spring については十分わかっているという方も手にとると新しい発見があるかもしれません。