поэтому у меня есть этот класс пример:Как сохранить значение переменной статического класса весной?
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 конфигурации:
<beans>
<bean id="test" class="com.Test"/>
</beans>
Теперь, когда я пытаюсь сделать ArrayList, статические переменные сбрасывается каждый раз.
for (int i=0;i<9;i++) {
arrayList.add(context.getBean("test");
arrayList.get(i).getId();
}
Он напечатает, что «Это 1» для каждого объекта в списке массива. Как я могу сделать так, чтобы статическая переменная сохранила глобальную ценность?
потому что по умолчанию scope Singleton, вы получаете тот же bean/object каждый раз, поэтому он отображает одно и то же значение. попробуйте установить область для прототипа – Sarief
Мне интересно: почему вы используете 'getBean (" triangle ")' вместо 'getBean (" test ")'? – Andremoniy