ので、私は、このクラスの例があります。静的クラス変数の値をSpringに保持する方法を教えてください。
public class Test {
private static int idCounter;
private int id;
Test() {
id=++idCounter;
}
public void getId() {
System.out.printf("This id is %s",this.id);
}
}
そしてbeans.xmlのコンフィグ:私はArrayListのを作るしようとすると、
<beans>
<bean id="test" class="com.Test"/>
</beans>
は今、静的変数は毎回リセットされます。
for (int i=0;i<9;i++) {
arrayList.add(context.getBean("test");
arrayList.get(i).getId();
}
「これは1です」というメッセージは、arrayList内のすべてのオブジェクトに対して表示されます。静的変数がグローバルな値を保持するようにするにはどうすればよいですか?
デフォルトスコープはシングルトンなので、毎回同じBean/Objectを取得するため、同じ値が表示されます。スコープをプロトタイプに設定してみてください – Sarief
私は疑問に思っています:なぜ 'getBean(" test ")'の代わりに 'getBean(" triangle ")'を使用しますか? – Andremoniy