出版社/著者からの内容紹介
Webアプリケーションについての基礎知識を確認してDI(Dependency Injection)やAOP(Aspect Oriented Programming)を用いたアプリケーションのアーキテクチャはどのようなものかを説明しよう。Springの詳しい説明はないが,なぜDIコンテナが登場したのか,AOPはどんなものかの説明も合わせて行うので,初級者の人は読み飛ばさないでほしい。
■第2章 Springの導入
Springを利用したWebアプリケーション開発の開発環境について説明していこう。
本書では,Javaの開発環境として普及が進んでいるEclipseを利用する。EclipseのプラグインであるTomcat PluginとSpring IDEのインストールから使用方法までを説明するので,EclipseにSpringを利用したWebアプリケーション開発用のプロジェクトを作成できるようになろう。
■第3章 DIコンテナ
Springの核であるDIコンテナについて説明するので,ここが読み終わればDIコンテナの実体であるBeanファクトリやApplicationコンテキストの使い方を定義ファイルの書き方も含めて理解できるはずだ。
■第4章 アスペクト指向プログラミング――AOP(Aspect Oriented Programming)
Springが備えるAOPフレームワークや,そのほかのAOPフレームワークの紹介を通して,アスペクト指向についての基本的な内容について説明しよう。
DIとAOPを組み合わせることで,DI単体の場合と比べて,より優れた関心事の分離を行え,オブジェクト指向とアスペクト指向が相補的な関係にあることが明らかになるはずだ。
■第5章 DBアクセスとトランザクション管理
Springを使用したデータベースアクセス,およびトランザクション方式について説明しよう。データベースアクセスについては,従来のJDBCを使用したデータベースアクセスの問題点と,Springの備えるJDBC抽象フレームワークの利点,および使用法について理解してほしい。トランザクションの項では,Springのトランザクション機能について,また第4章のAOPフレームワークを組み合わせた宣言的トランザクション方式について理解できるようになることが目標だ。
■第6章 MVCフレームワーク
SpringのMVCフレームワークについて,サンプルアプリケーションを通して説明する。SpringのMVCフレームワークの特徴である,DIコンテナをベースに設計されている点に着目しながら,フレームワークを構成する基本的なクラスの利用方法を見て行こう。
■第7章 Strutsとの連携
MVCフレームワークとしてもっとも普及が進んでいるStrutsとSpringの連携について,サンプルアプリケーションを通して説明して行こう。Strutsを単体で利用するよりも,Springと連携させることで,より優れたアプリケーションアーキテクチャを実現できることが明らかになっていくはずだ。
■第8章 Hibernateとの連携
SQLを使わないO/RマッピングフレームワークHibernateとSpringを連携させてデータベースアクセスを行う方法について説明しよう。なにかと良い面ばかりを取り上げられるSpring+Hibernateだが,落とし穴だってあることに気がついてほしい。
■第9章 iBATISとの連携
O/RマッピングフレームワークiBATISとSpringを連携させてデータベースアクセスを行う方法について,SpringJDBCを使ったサンプルアプリケーションとiBATISを使ったサンプルアプリケーションを比較して説明しよう。SQLを使うことを意識したO/RマッピングフレームワークiBATISの特徴と利点がわかってもらえると思う。
内容(「MARC」データベースより)
出版社からのコメント
Spring Frameworkとは、これまでのWebアプリケーション開発をもっと楽に、そしてもっと軽快に行うことができるフレームワークです。その特徴は、EJBのような処理の複雑さ・重さに対する反省から生まれた軽量コンテナ(DIコンテナ)にあります。これには制御の逆転と呼ばれる発想の転換がなされており、POJO(Plain Old Java Object)を必要なときに呼び出すという仕組みがあります。
本書は、新しい概念である軽量コンテナを使いこなすためにさまざまな面からSpring Frameworkの解説を行います。ソースコードを読みながら理解していくと、この技術のすばらしさに雷に打たれたような衝撃を受けるでしょう。また、オブジェクト指向を補完する新たな技術として「アスペクト指向」が、そろそろ注目を浴びてきました。Spring Frameworkはアスペクト指向の実装もされています。最先端のJava技術を学びたい方に本書をとくにお勧めします。
カバーの折り返し
その頃,僕はC++を使用した開発に従事していたのだけれど,ポインタとかメモリリークとかの不具合でいろいろと悩まされていたので,そういった問題を解消するJavaの仕様に感動して早速余暇を利用してJavaのプログラムを書き始めた。
その頃,僕はJavaイコールAppletだと思っていたので(世間的にもそういう認識が強かったと思う),僕ははじめてのJavaアプリケーション,つまりAppletをふんだんに盛り込んだ自社(当時)のホームページを作った。結局,僕の最初のJavaアプリケーションは,当時の上司に提出したのだが,まったく顧みられることなく捨てられてしまった。ホームページは商品を売らない一般企業には不要と思われていた時代だったのだ。
しかし,それにもめげずにJavaの勉強を続けていたら,いつの間にかJavaの仕事を任されるようになり,XML(eXtensible Markup Language)*2やCORBA(Common Object Request Broker Architecture)*3を使った分散ミドルウエアや,JSP(JavaServer Pages),Servlet, EJB(Enterprise JavaBeans)を使ったWebアプリケーションの仕事を主として担当するようになっていた。
そして,現在は豆蔵で優秀なエンジニアに囲まれて主にWebアプリケーションに関連した開発コンサルやトレーニングといった仕事に携わっている。
Webアプリケーションの仕事に携わる中で,僕はJ2EEの複雑化や肥大化に対応できるWebアプリケーション開発の「切り札」となるものを探していた。そこで,見つけたのがSpring(Spring Framework)というJava/Webアプリケーション用のフレームワークだ。
本当は,皆さんと一緒に仕事をして,このフレームワークの将来性や優れた設計思想,利用方法を直に伝えられればいちばん良いのだが,世の中そううまくはいかない。だから,本書にはSpringについての様々な知識や利用方法などをできるかぎり伝えていけるように書いていこうと思う。
本書は,Java/Webアプリケーションの開発現場でコンサルタントやアーキテクト,エンジニアとして切磋琢磨する4人の仲間達で書いてゆく。4人の仲間達は今も現場で,壁にぶつかり,悩み,解決策を模索している。こんな僕達の書く技術書なので,単にSpringの利用方法や特徴を網羅するだけではなく「Webアプリケーションの設計はいかにあるべきか」までを僕達の経験をもとに書いていきたい。そのなかには,偏見や独断に満ちたものもあるかもしれない。僕達にはベストプラクティスだと思えるものが,もしかしたら,皆さんのベストプラクティスでないかもしれない。もし,皆さんの方がそう判断した場合は,その部分は切り捨てて読んでほしいと思う。世の中にはすべてのプロジェクトに適合するベストプラクティスなどないのだから。
また,本書では僕達がいつも新入社員に教えるような「仕事に向かう姿勢」も書いていきたいと思っている。常に楽しんで前向きに仕事をしている僕達の,仕事に対する取り組み方や考え方を本書に取り込んでいければその目的も達成できると思う。
著者について
1977年京都生まれ。学生時代にOOをかじり,OOの仕事がしたくて豆蔵に入社。
趣味は,バスケ,サッカー,スノボと転々としてきましたが,昨年からフライフィッシングを始めました。フライフィッシングとは昆虫などに似せた毛ばり(フライ)を使用して,渓流で岩魚や山女などを釣る釣りです。もともとフライフィッシングはTVで見かけた程度でしたが,あのブラッド・ピッドが出演している映画「A River Runs Through It」を観た瞬間,趣味にすることを決意しました。理由は,キャスティング(フライを魚の側に正確に投げる動作)がカッコイイからです。まるで長いムチを扱うようなものです(実際にムチを扱ったことなんてありませんよ)。昨年は始めたのが遅かったので,1回しか行けませんでしたが,それでも2匹釣りました。今年は何匹釣れるか楽しみです。
■岩永寿来(いわながとしき)
1976年福岡県生まれ。2004年より株式会社豆蔵に所属。
趣味は麻雀と三味線。麻雀で度胸と忍耐力を日々精進中。麻雀も人生も冬の時代をいかに辛抱できるかが鍵だと思う今日この頃。津軽三味線は演奏する人の個性を表現する楽器だそうです。残念ながらパソコンのキーボードのようには上手く扱うことは出来ず,なかなか上達しませんが,私の個性はどのように現れてくるのかを楽しみにして練習しています。
■大野渉(おおのわたる)
1976年富山県高岡市に生まれる。1995年に上京し,田無(現西東京市),高田馬場と渡り歩き,現在は板橋在住。2000年問題に盛り上がった1999年,某SI会社に就職。オブジェクト指向技術に興味を持ち,2003年に豆蔵に入社。今に至る。
2002年のM-1グランプリ(ますだおかだ優勝)を見て以来,大のお笑い好き。好きな芸人はアンタッチャブル。おととし最終決戦に進出してから(去年は優勝),テレビでもよく見れるようになった。それはそれでうれしいが,よく出ている某お笑い番組「エ○タの神様」ではコントしかやらない。あのつっこみは漫才でこそ生かされるのに!!と常々「残念!!」に思う。
最近はまっているのは泡盛。ついこの間買った,珊瑚礁5年古酒(クース)にはまっている。あ,気づけば大好きな「与那国(花酒=60度のお酒)」がなくなりそうだ。次は「どなん(同じく花酒)」を飲んでみようかな♪
■長谷川裕一(はせがわゆういち)
1964年東京生まれ。先鋭的なクライミングで知られる日本モダンクライマーズクラブ(JMCC)に所属し,フリークライミングの大会にも参加していたが,今では子供達をキャンプに連れて行くのが楽しみのキャンプ・パパに成り下がり,クラブのメンバからは軽蔑されているらしい。
クライミングもプログラミング(アーキテクチャ)も創造的なところが似ているが,プログラミング(アーキテクチャ)では失敗しても死ぬどころか怪我すらしないのでお気楽だと思っている。――将来は人里離れた山に移り住んでハイジのおじいさんのようになりたいかも。
著者略歴 (「BOOK著者紹介情報」より)
1964年東京生まれ
伊藤 清人
1977年京都生まれ。学生時代にオブジェクト指向をかじり、そういう仕事がしたくて豆蔵に入社
岩永 寿来
1976年福岡県生まれ。2004年より株式会社豆蔵に所属
大野 渉
1976年富山県高岡市に生まれる。1995年に上京し、田無(現西東京市)、高田馬場と渡り歩き、現在は板橋在住。1999年、某SI会社に就職。オブジェクト指向技術に興味を持ち、2003年に豆蔵に入社。今に至る(本データはこの書籍が刊行された当時に掲載されていたものです)