DIを実現するSpring Framework - 最新版1.2公開

後藤大地  [2005/05/16]

Spring Frameworkプロジェクトは13日(米国時間)、Spring Frameworkの最新版となるSpring Framework 1.2を公開した。Spring Frameworkは最近注目されているJ2EEアプリケーションフレームワークの一つで、コンポーネント化を促進するために使用される。1.2は安定版になるとみられており、開発用途向けの安定リリースは以前の製品品質バージョンであるSpring Framework 1.1.5から1.2に移行したことになる。Spring Framework 1.1.5からの主な変更点は次の通りである。

  • XML Bean定義の簡略化
  • JXMサポート機能の追加
  • JDBC RowSetサポート機能の追加
  • JCA CCIサポート機能の追加
  • JDO2サポート機能の追加
  • Hibernate3サポート機能の追加
  • Oracle TopLinkサポート機能の追加
  • WebLogic JTA extensionsのサポート機能の追加
  • 配布するJarファイルをより細かく分割

Spring Frameworkは、同様の機能が次期EJBであるEJB 3.0で取り込まれる方向で検討されていることが発表され、広く注目されるようになった。Spring Frameworkの主な機能は次のとおり。

  • IoCまたはDIの実現
  • 実行環境を選ばないコンポーネント化の促進
  • アスペクト指向プログラミング(AOP)機能の統合
  • 設定情報の一元管理
  • トランザクション抽象化レイヤーの提供
  • データベース抽象化レイヤーの提供
  • ウェブアプリケーションフレームワークの提供

Spring Frameworkは、Beanの管理を簡素かつ軽量にしようというLightweightコンテナを実現するものだ。もともとJ2EEアプリケーションフレームワークとして開発が始まったが、EJBに依存することがないように設計実装されているため、汎用的なフレームワークとして使用できる。類似技術としては、PicoContainerやApache Avalonなどがある。

Spring Frameworkの目的は、コンポーネント化にある。Javaを使ったシステムの開発中に、コンポーネント化を行うことは難しい。クラスは密結合していた方が実装しやすいため、どうしてもコンポーネント化が進みにくいわけだ。また、設計上は分離していても、実際に再利用可能なコンポーネントにはならないことが多く、うまく分離できていても、別のプロジェクトでは役に立たないコンポーネントになることも多い。Spring Frameworkは、開発中からシステムのコンポーネント化を促進するためのフレームワークで、このフレームワークを使うと開発中から否応なくコンポーネント化が促進されるようになる。

Spring Frameworkで採用されるコンポーネント化のための主要技術は、IoC(Inversion of Control)と呼ばれるコンポーネント間の依存性を緩くするためのデザインパターンである。IoCにはどこで依存関係を持つかまたは定義するかによって4つの実現方法がある。Spring Frameworkでは特にセッターメソッドによる方法を採用している。IoCは最近では理解しやすいようにDI(Dependency Injection)と呼ばれることも多い。

どのようにDIが実現されているかというと、使いたいコンポーネントをSpring Frameworkで提供されている機能を経由して扱うようにし、コンポーネント間の関係はXMLに書いておくようにしている。関係をXMLに分離することで、実装中にそれらがコンポーネント化できないような関連を持ってしまうことを防いでいるのである。

    関連サイト

    新着記事

    特設サイトの情報

    求人情報

    人気記事

    一覧

    イチオシ記事

    新着記事

    特別企画

    一覧

    転職ノウハウ

    あなたの仕事適性診断
    あなたの仕事適性診断

    4つの診断で、自分の適性を見つめなおそう!

    Heroes File ~挑戦者たち~
    Heroes File ~挑戦者たち~

    働くこと・挑戦し続けることへの思いを綴ったインタビュー

    はじめての転職診断
    はじめての転職診断

    あなたにピッタリのアドバイスを読むことができます。

    転職Q&A
    転職Q&A

    転職に必要な情報が収集できます

    スカウト転職する
    スカウト転職する

    企業からアプローチのメッセージが届きます。