まず、第一章の「Webアプリケーション概論」が秀逸でした。著者持論になるのでしょうか、「凹形レイヤ」なるレイヤ設計は、「下位層のみを知ってる、下位層のみに依存する」を実現する為の、コロンブスの卵的発想で刺激的です。もちろんこれが最終的正解ではないのかもしれませんが、非常に参考になりました。<BR>この第一章で解説された設計理論を実現する為の道具としてSpringのDIやAOPが紹介されています。単なるSpringのAPI解説ではなく、どうやったら依存性を排除できるか、綺麗なソースを記述できるかという視点で書かれています。<BR>Hibernateとの連携では、マンセーな記述ばかりではなく、注意点や弱点も解説されており参考になります。<BR>サンプルソースも魅力的です。このタイプのWebアプリケーション雛形として紹介されることの多いjava.netのequinox等では、managed-beanが直にfooDaoを弄っているのに対して、当書や類似書である「LightWeightJava」ではFacadeを介して使っています。これはconnectionを意識せずにトランザクションポイントを設定できるAOP機能をより効果的に使う方法を紹介していると評価できるのではないでしょうか。<BR>強いて弱点を挙げるとすればAPI一覧的解説に弱いということかな。私は気になりませんでしたけど。
タイトルどおりの内容。<BR>Springをとおして一般的なDIコンテナやJ2EEアプリケーションの基礎を学ぶことができる。「第1章のWebアプリケーション概論」は一般的なWebアプリケーションのアーキテクチャを非常に分かりやすく解説しており、本書の白眉。<BR>第2章以降はSpringの導入からStruts,Hibernate,iBatisなどほかのOSSとの連携についての解説があげられている。Springは設定ファイルのボリュームが多いこともあり、その解説に終始する。仕方ないとは思うけど退屈。それでも解説は丁寧であるが。<BR>Springをビッシビシに使う人にとっては物足りないと思うが、まあ、入門書ですから。
DIコンテナの基本から、SpringAOP、DBアクセスとトランザクション制御といったSpringの基本部分が丁寧に解説してあり、入門書として読むにはいい本だと思います。<BR>また、単なる機能の解説だけではなく、著者の経験によるノウハウ的なことも散りばめられていて、なかなか良い感じです。<P>ただ、Springのプレゼン層フレームワークであるSpringMVCの解説が50ページ強もあるのは個人的には不満が残りました。<BR>あまり使われないSpringMVCよりも、よく利用されるHibernateとの連携の章の「Spring+Hibernateのトランザクションに関わる落とし穴」にもっと多くのページを割り当てて欲しかった。<P>とはいえ、DIコンテナ初心者には買って損のない1冊でしょう。