GuiceGuiceは、Googleの提供するDIコンテナです。サイトはこちらサイトから「guice-1.0.zip」ダウンロードして、とりあえずその中の「guice-1.0.jar」があれば動きます。代わりにJavaプログラム上でコンポーネント登録を行います。AbstractModuleクラスを継承した独自のModuleクラスを作成します。「A」では不可、「B」ではOKでした。○Setterに「@Inject」を付与すると、コンポーネント生成時に該当コンポーネントがインジェクトされます。Setterである必要は無さそうです。Guice.createInjector()で生成したInjectorを使って、コンポーネントを直接取得したり、Clientクラスにコンポーネントをインジェクトしたりします。他のクラスにインジェクションされることは無いけれども、getInstance()を経由してインスタンスを生成することで、そのClientクラスが欲するコンポーネントがインジェクトされた状態のインスタンスになります。通常は、コンポーネントを直接取得することはなく、injector.getInstance(Client.class)を利用して、登録されているコンポーネントをClientクラスにインジェクトして利用するって形になると思います。登録されているコンポーネントをインジェクトすることも可能なので、そのとき利用する関連フレームワーク次第かなとも思います。登録されているコンポーネントを直接取得することもあるかと思います。S2TestCaseのGuice版などを作るような場合。登録されてなければ例外になって欲しい」ってのがダメだったりします。getInstance()は、登録されていないクラスが指定された場合は、デフォルトコンストラクタをnewして、@Injectがあればインジェクトする、って挙動になります。@Injectがないクラスであればただnewされるだけです。「じゃあ事前に登録されているかどうかをif文でチェックしよう」ですが、findBindingsByType()を使ってできました。return;}ちょっとなんかおおげさなので、これで本当にいいのかわかりませんが、とりあえず判定はできているようです。少ない知識で探って探って(ドキュメントほとんど読まずに)、dbflute-guice-exampleができあがりました。再開したディズニーシーにはてなブログをはじめよう!jfluteさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。