Dependency Injectionタイプその1 - コンストラクタ・インジェクション
コンストラクタの引数には、componentタグの子タグであるargタグを使って指定します。
app.dicon |
<components>
<include path="convention.dicon"/>
<include path="aop.dicon"/>
<!-- コンポーネント-->
<component name="construtorDI" class="ConstrutorDI" instance="singleton">
<!-- 引数1 -->
<arg>"コンストラクターDI後のメッセージです。"</arg>
<!-- 引数2 -->
<arg>"引数2です。"</arg>
</component>
</components>
|
ConstrutorDI.java |
public class ConstrutorDI {
private String message;
// コンストラクターDI
public ConstrutorDI(String message1, String message2) {
this.message = message1 + message2;
}
public String getMessage() {
return this.message;
}
}
|
TestClass.java |
import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.container.factory.SingletonS2ContainerFactory;
public class TestClass {
public static void main(String[] args) {
// S2Container初期化
SingletonS2ContainerFactory.init();
// コンポーネント取得
ConstrutorDI consDI = SingletonS2Container.getComponent("construtorDI");
System.out.println(consDI.getMessage());
// S2Container破棄
SingletonS2ContainerFactory.destroy();
}
}
|
出力メッセージ |
コンストラクターDI後のメッセージです。引数2です。 |