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 があります。