0
seasarでのinstance="prototype"に質問です。
seasarを勉強初めて間もないですが、
よくわからないことがありまして質問します。
diconファイルの定義で
S2Containerからインスタンスを貰う時、
毎回新しいインスタンスを取得する設定として
componentタグにinstance="prototype"を書いておけばいいと
思っていますが、何かうまく行きません。
私が勘違いしているような気もしますが・・・
簡単にソースの方を書きます。
ソースをベタベタ書くのはあまりよくないと
思いますが、この辺は大目でお願いします。
[test.TestVO]
public class TestVO {
}
[test.dicon]
.....
<component
instance="prototype" class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister">
<initMethod name="addClassPattern">
<arg>"test"</arg>
<arg>".*VO"</arg>
</initMethod>
</component>
[Main.java]
(mainメソッドの中)
S2Container container = S2ContainerFactory.create("test/test.dicon");
container.init();
TestVO test1 = (TestVO) container.getComponent(TestVO.class);
System.out.println(test1.hashCode());
TestVO test2 = (TestVO) container.getComponent(TestVO.class);
System.out.println(test2.hashCode());
/////////////////
これを実行するとtest1とtest2のハッシュコード値が
一緒になります。