The Dragon Scroll

Be just and fear not.

Spring2.0は春を告げるか。

先日、日本Springユーザ会主催のSpringFWの勉強会に
参加してきました。場所は新宿。


セッションは以下のとおり。
19:00〜20:15 Spring2概論
20:15〜20:25 Spring HTTP Invokerの活用事例
20:30〜22:00 AjaxFlashDWRサンドイッチ、Springを添えて


19時開始で、22時終了という、長丁場。
私は、既に20時を過ぎた時点で朦朧としていました。
というわけで、最初のセッションだけ感想を書きます。


ちなみに私のSpringに関する知識は、この本が全てです。

Java・J2EE・オープンソース Spring入門 ~より良いWebアプリケーションの設計と実装

Java・J2EE・オープンソース Spring入門 ~より良いWebアプリケーションの設計と実装

DIという考え方が、登場した時は、複雑な思いを持った
覚えがあります。
EJBの複雑さに対するアンチテーゼとして、取り上げられ
瞬く間に市民権を得ていく様を、手放しに喜ぶことは
できませんでした。
なぜならば、
あれだけ苦労して勉強したEJBはなんだったのか?
という思いがあったからです。
クリスマスの日に奥さんから、EJB本をプレゼントされて
喜んでいた、あれはなんだったのか?
EJBコンポーネント開発完全ガイド (Java2 Platform,Enterprise Edition Series)

EJBコンポーネント開発完全ガイド (Java2 Platform,Enterprise Edition Series)

最も、EoDの旗印の下、EJB3.0の姿が見え始めた頃に、
この思いも消え去りましたが。


ところで、私の中で、DIコンテナとして存在感があるのは
Seaser2です。
特に、最近のSeaser2.4のHotDeployは、ココロを掴んで
離さないですね。


SeaserとSpring。規約と設定。
両方、追いかけてきましたが、Seaser2.4の登場とともに
すっかりSpringを追いかけることをやめました。
気がつくと、そのSpringが、2.0となっているという。
その概論が学べるという岡本氏のセッションに、
興味を覚え、参加することを決めました。


Spring2.0、沢山の新機能がありますね。

(発表資料から抜粋)


私が、特に興味を覚えたのは、
動的言語のサポート」
でした。
JRubyで、Bean定義が可能で、全てのSpring機能を使用できる。
しかも、利用者は実装言語を意識することは不要。
当然、動的言語のプログラムは、ダイナミックに再ロード可能。


問題のXML定義ファイルも、独自のタグが定義されたことで
設定項目が簡単になりました。
例えば、上の動的言語もlangというスキーマでサポートされて
います。


これまでEoDのために利用されてきたDIコンテナが、
さらにEoDを促進させる機能を載せてリリースされたのが、
Spring2.0といったところが、結論でしょうか。


では、ありがちな議論として、SpringとSeaser
DIコンテナとしてはどちらを採用するべきなのでしょうか。
私には、Spring2.0に関して、まだ持っている知識が
浅いので、何とも言えません。
よく言われることですが、世界的に認知されていて
対応する他のフレームワークが多いということが
Springの優位性として上げられます。
しかし、最近のSeaserファウンデーションを見ていれば
分かりますが、必要なフレームワークは全部
Seaserでそろえればいいじゃないかと思います。
というわけで、特にその点で、Springの絶対的な優位性が
あるかというと、そうは思いません。


しかしながら、ひとつの個人的な思いはあります。
それは、Seaser2.4のリリースの時にあった衝撃が、
Spring2.0では、無かったことです。
HotDeployのような、Java自体に革新性をもたらした
という点では(DIコンテナとは別の話ですけど)、
Seaser2.4に軍配が上がるのではないでしょうか。