« 「100年めの、これが新ビールだ。」 KIRIN THE GOLD | メイン | 「G10 Reader」 辞典機能つきフィードリーダー »

「Guice」 -Google発のJava用DIコンテナ- を使ってみる

  はてなブックマークに追加 このエントリを livedoor クリップへ追加

Guice

久々にJavaの話題です。

Googleから提供されているDI(Dependency Injection)コンテナ「Guice」をつかったプログラミングについて、説明します。

DI自体については、あまり詳しくないので(^^;、プログラムを作りながら勉強していくつもりです。


まずは、「Guice」のインストールからです。
「Guice」は、こちらのサイトからダウンロードします。

ダウンロードしたら、ファイルを解凍して、ライブラリをパスの通ったディレクトリに配置してください。
以上でインストールは完了です。

では、早速コーディングにうつりましょう。
今回の説明は、「Guice」の「User's Guide」にそって進めていきます。


クライアントがあるサービスを実行するという、シンプルな例題を取り扱って説明します。


(1)Serviceインターフェースと実装クラスを定義する

○「Service.java」

○「ServiceImpl.java」


(2)”インターフェースを実装クラスに関連付ける”ための「MyModule」クラスを定義する

○「MyModule.java」


(3)「Client」クラスを定義する

「Client」クラス内部に、依存関係を注入する場所を指定する。
ここでは、Service serviceに”実装クラスを代入するはず”のところ。


(4)依存関係を注入して「Client」クラスのインスタンスを生成し、実行する

Mainクラスを実行すると「サービスを実行しました。」と表示されます。


以前から、やってみたかったDIなんですが、余分な?設定ファイルを書かなければならないという先入観があって、なかなか手をつけられないでいました。

また、一人では、あまり大きなコード開発もしないので、かえって手間だろうとたかをくくっていました(笑)。


「Guice」では、余計?な設定ファイルもなくJavaの言語の中ですべてが完結しているので、Javaプログラマに非常にフレンドリーな感じがします。

また、DIについて素人の私でも、「Guice」を利用したDIのやり方は、非常にわかりやすかったです。
(他のコンテナをしらないくせにと突っ込まれそうですが・・・)。


今回、紹介できたのは、「Guice」の能力のほんの一部に過ぎないと思います。
これから使い込んで、能力を十分に研究していきたいと思います。


(関連サイト)
  ○「Guice 1.0 User's Guide
  ○「このバランス感覚、さすが - GoogleのDIフレームワーク"Guice"を使ってみる
  ○「Google、Java用DIフレームワーク「Guice」をオープンソースとしてリリース

Ads BOARD








最近のエントリーとその関連エントリー

トラックバック

このエントリーのトラックバックURL:
http://kazuhiro.ty.land.to/blog/mt-tb.cgi/198

  Map