Google Guiceの取扱い

基本情報

対応バージョン
Google Guice 1.0 or 2.0 (no-aop OK)

DI設定クラス (DBFluteModule)

DBFluteは、Generateタスクにて DBFluteのコンポーネントの登録処理が実装されている DBFluteModule を自動生成します。主には、Behavior と allcommon のクラスが登録されます。

この DBFluteModule が アプリケーションのDI設定ファイルから参照されるように設定 することで、アプリケーションのコンポーネントからDBFluteのコンポーネント(主にBehavior)が利用できるようになります。

e.g. DBFluteモジュールの初期化 @Java
List<Module> moduleList = ...
DataSource dataSource = ...
moduleList.add(new DBFluteModule(dataSource));
Injector injector = Guice.createInjector(moduleList.toArray(new Module[]{}));

DIの方法 (Behavior)

DI管理されているコンポーネントクラスにおいて、Behavior のプロパティを定義し、@Inject アノテーションを付与するとインジェクトされます。他にも方法はありますのでアプリケーションで統一的な実装をするようにして下さい。

e.g. Inject アノテーションの利用 {Pageクラス} @Java
public class XxxPage {
    protected MemberBhv memberBhv;

    @Inject
    public void setMemberBhv(MemberBhv memberBhv) {
        this.memberBhv = memberBhv;
    }
}

Exampleのススメ

Google Guice を使ったExample実装 dbflute-guice-example があります。

DBFlute Example - DIコンテナ