【ハウツー】
インタフェースと実装クラスを用意した。あとはDIコンテナを経由して、用意した実装クラスを、インタフェースベースでプログラミングする。ここで用意したクラスはリスト6.1のとおりだ。
まずDIコンテナであるS2Containerのインスタンスを取得する。ここではS2ContainerFactoryを使ってDIコンテナを生成する方法を使っている。リスト6.2のようなコードでいい。設定ファイルであるs2.diconが、Jarファイル内のトップディレクトリにあるresourcesディレクトリ内に配置されているため、指定しているパスはresources/s2.diconだ。クラスパスの通っているディレクトリからの相対パスで指定すればよい。
次に、取得したS2Containerを経由して(リスト6.3)Printerのインスタンスを生成する。ここでは直接実装クラスを指定してインスタンスを生成していないことに注目されたい。
そうしたら、生成したインスタンスをリスト6.4のように実行する。 Messageのインスタンスすら設定していないことに注目されたい。代入できるプロパティはS2Containerによって自動的に代入されるため、あらかじめ用意されているわけだ。
「S2ContainerFactory.create("resources/s2.dicon");」において指定している設定ファイルはリスト6.5のような内容になっている。ここでprinterと指定された場合はtest.PrinterImplを、messageと指定された場合はtest.MessageImplを使うようになっている。Messageの実装クラスが登録されていることから、printerで取得されるインスタンスには自動的にMessageのインスタンスが設定されているわけである。
| サイバー、ストップ風疹プロジェクトに賛同して社員3200人にワクチン接種 [18:49 5/23] |
| ライフサイズ、モバイル対応のビデオ会議ソリューションを発売 [15:39 5/23] |
| ブラザー、両面印刷対応で無線LAN搭載のコンパクトなA4カラーレーザー [15:01 5/23] |
| 日本オラクル、業務アプリケーションスイートの最新版を発売 [14:36 5/23] |
| パラゴン、Windows Server 2012対応のハードディスクの抹消ユーティリティ [14:06 5/23] |
|
【レポート】ドコモ、「ELUGA power P-07D」のホームアプリの設定の不具合に対処 [20:29 5/23] 携帯 |
|
【レポート】Twitterに二段階認証を導入 - アカウント乗っ取り防止対策で [20:28 5/23] 携帯 |
|
【レポート】スマホからアクセスしたアダルトサイトの相談件数が急増 [20:25 5/23] 携帯 |
|
【ハウツー】【ハウツー】「バッテリーのもち」について - スマートフォン用語解説 [20:24 5/23] 携帯 |
|
[それゆけ!ぶるにゃんマン]人気キャラのアバターが「777TOWN.net」に登場 [20:23 5/23] ホビー |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。