Javaプログラミング/Javaプログラミング関連情報

SeasarでDI体験!

日本が誇る純国産先端技術「Seasar」を知っていますか? 今、話題のDI(Dependency Injection)がどんなものか、Seasarで体験してみましょう。

執筆者:掌田 津耶乃

Seasar2とDI


ソフトウェアの世界というのは、基本的に米国主導です。Java自体がそうですし、OSも主なアプリケーションも、多くは米国。基本的なソフトウェアの大半を米国に牛耳られているとなっては、どうしても後塵を拝する結果となってしまうのでしょう。

が、そんな中で、純日本産のすばらしい技術を作り出している人たちも確かにいます。Javaの世界で、現在、もっとも注目されている純国産ソフトウェアといえば、「Seasar」でしょう。皆さんも、名前ぐらいは聞いたことがあるのではないでしょうか。

この「Seasar(正確には、Seasar2)」というソフトウェアは一体どういうものか。これは、「DIコンテナ」と呼ばれるソフトウェアなのです。DIコンテナ……聞いたことあるようなないような……と思われる人もいるかも知れません。

「DIコンテナ」とは、文字通り「DI」を動かすためのコンテナとなるプログラムです。要するに、この中でDIを動かすためのものです。では、そもそも「DI」っていうのは、何でしょうか。

「DI」は、「Dependency Injection」の略です。これは一般に「依存性注入」などといわれています。ここでいう「依存性」というのは、そのオブジェクトを成立させるために必要となるさまざまな情報のことです。あるオブジェクトを作成し利用するためには、さまざまな情報(値や、実行する処理など)が必要となることがあります。こうしたとき、それを外部からそのまま受け取って動かす形だと、そのオブジェクトは利用が非常に制約されてしまいます。

そこで、あるオブジェクトを利用するために必要となる依存性をオブジェクト本体から切り離し、外部から依存性情報を注入して利用できるようにしよう――これがDIの基本的な考え方です。依存性を切り離すことで、オブジェクトをより柔軟に利用できるようにしよう、というわけです。

このDIの考え方を実現したソフトウェアはいくつも登場しています。DIの元祖である「Spring Framework」を始め、多くのDIを実現するソフトウェアがあります。しかし、その多くは、設定情報などの記述が面倒であったりして、なかなか使いこなすのが大変でした。

Seasarの最大の特徴は、その「設定情報作成の容易さ」にあります。Seasarでは、非常に単純な情報をXMLで用意するだけでDIの恩恵にあずかることができます。「そういう難しそうな最新技術は、ちょっと手が出ないな……」と思っている皆さんに、ぜひともSeasarで「DI体験」をしていただきたいと思うのです。

Seasar2の入手とインストール


Seasarは、現在、以下のサイトにて活動を行っています。

http://www.seasar.org/

Seasarプロジェクトのサイト。


このSeasarプロジェクトでは、多数のプロジェクトが進行していますが、まずはDIコンテナ本体である「Seasar2」をダウンロードしましょう。Seasar2のページは以下になります。

http://s2container.seasar.org/ja/

このページ内にある「ダウンロード」という項目の「最新版」から、最新のSeasar2(S2Containerと表示されているものです)をダウンロードできます。圧縮ファイルで配布されていますので、適当なところに展開してください。

ファイルを展開すると「seasar2」というフォルダが作成されます。その中に「lib」というフォルダがあり、ここに多数のjarファイルが保存されます。これが、Seasar2のプログラム本体といってよいでしょう。ここにあるJarファイルをすべてコピーし、JREのclasspathが通っている場所にペーストすると、Seasar2の機能が利用可能になります。一般的には、JREのlib内の「ext」フォルダあたりに入れておくのがよいでしょう。


  • 1
  • 2
  • 3
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます