セットアップ - DI環境の調整

アプリケーションで利用しているDIコンテナの環境にDBFluteのクラスを認識させて下さい。

DIコンテナとの連携

DBFluteは、DIコンテナと連携して利用されることを前提 としています。アプリでDIコンテナを利用しない場合でも、DBFlute内部での管理用としてDIコンテナが必要となります。

Spring Framework

JavaConfig (1.1.xからデフォルト)

Genreateタスクで自動生成されるDI設定クラス DBFluteBeansJavaConfig を、アプリケーションでコンポーネントを初期化するときに、一緒にこのクラスを組み込みます。

Spring Framework - DI設定クラス

データソース (javax.sql.DataSource) のコンポーネントが dataSource という名前で別途登録されていることが前提です。 クラス名やコンポーネント名などは dependencyInjectionMap.dfprop にて微調整できます。

XmlConfig (1.0.xのデフォルト)

Genreateタスクで自動生成されるDI設定ファイル dbfluteBeans.xml を、アプリケーションのDI設定ファイル(Beans定義)から参照するようにして下さい。

e.g. beanRefContext.xml にて dbfluteBeans.dicon を参照 @app.dicon
<beans>
    <bean id="context" class="...context.support.ClassPathXmlApplicationContext">
        <constructor-arg>
            <list>
                <value>dbfluteBeans.xml</value>
                <value>jdbcBeans.xml</value>
            </list>
        </constructor-arg>
    </bean>
</beans>

データソース (javax.sql.DataSource) のコンポーネントが dataSource という名前で別途登録されていることが前提です。 クラス名やコンポーネント名などは dependencyInjectionMap.dfprop にて微調整できます。

Google Guice

Genreateタスクで自動生成されるDI設定クラス DBFluteModule を、アプリケーションでコンポーネントを初期化するときに、一緒にこのクラスを組み込みます。

コンストラクタでデータソース (javax.sql.DataSource) の指定します。

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

Seasar(S2Container)

Genreateタスクで自動生成されるDI設定ファイル dbflute.dicon を、アプリケーションのDI設定ファイル(app.diconなど)でインクルードするようにして下さい。

e.g. app.dicon にて dbfluteBeans.xml をインクルード @app.dicon
<components>
    <include path="convention.dicon"/>
    <include path="aop.dicon"/>
    <include path="dbflute.dicon"/>
    ...
</components>

データソース (javax.sql.DataSource) のコンポーネントが dataSource という名前で別途登録されていることが前提です。 クラス名やコンポーネント名などは dependencyInjectionMap.dfprop にて微調整できます。

CDI

Genreateタスクで自動生成されるDI設定クラス DBFluteModule を、アプリケーションでコンポーネントを初期化するときに、一緒にこのクラスを組み込みます。

CDI - DI設定クラス