Spring2.0は春を告げるか。
先日、日本Springユーザ会主催のSpringFWの勉強会に
参加してきました。場所は新宿。
セッションは以下のとおり。
19:00〜20:15 Spring2概論
20:15〜20:25 Spring HTTP Invokerの活用事例
20:30〜22:00 AjaxとFlashのDWRサンドイッチ、Springを添えて
19時開始で、22時終了という、長丁場。
私は、既に20時を過ぎた時点で朦朧としていました。
というわけで、最初のセッションだけ感想を書きます。
ちなみに私のSpringに関する知識は、この本が全てです。
Java・J2EE・オープンソース Spring入門 ~より良いWebアプリケーションの設計と実装
- 作者: 長谷川裕一,伊藤清人,岩永寿来,大野渉,(株)豆蔵
- 出版社/メーカー: 技術評論社
- 発売日: 2005/04/16
- メディア: 単行本
- 購入: 2人 クリック: 55回
- この商品を含むブログ (46件) を見る
覚えがあります。
EJBの複雑さに対するアンチテーゼとして、取り上げられ
瞬く間に市民権を得ていく様を、手放しに喜ぶことは
できませんでした。
なぜならば、
あれだけ苦労して勉強したEJBはなんだったのか?
という思いがあったからです。
クリスマスの日に奥さんから、EJB本をプレゼントされて
喜んでいた、あれはなんだったのか?
EJBコンポーネント開発完全ガイド (Java2 Platform,Enterprise Edition Series)
- 作者: プラヴィン・V.トゥラチャン,Pravin V. Tulachan,クイープ
- 出版社/メーカー: アスキー
- 発売日: 2002/09
- メディア: 単行本
- この商品を含むブログ (1件) を見る
この思いも消え去りましたが。
ところで、私の中で、DIコンテナとして存在感があるのは
Seaser2です。
特に、最近のSeaser2.4のHotDeployは、ココロを掴んで
離さないですね。
SeaserとSpring。規約と設定。
両方、追いかけてきましたが、Seaser2.4の登場とともに
すっかりSpringを追いかけることをやめました。
気がつくと、そのSpringが、2.0となっているという。
その概論が学べるという岡本氏のセッションに、
興味を覚え、参加することを決めました。
Spring2.0、沢山の新機能がありますね。
- Beanスコープのオプションの拡張
- 動的言語のサポート
- Spring MVC、Spring JDBCの強化(Java5への対応)
- メッセージドリブンPOJOs
- よりシンプルで拡張可能なXML設定の導入
- AspectJ統合の強化
- JPA (EJB 3.0 Java Persistence API)の統合
(発表資料から抜粋)
私が、特に興味を覚えたのは、
「動的言語のサポート」
でした。
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に軍配が上がるのではないでしょうか。