so habe ich diese Klasse Beispiel:Wie behalte ich den Wert einer statischen Klassenvariablen in 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);
}
}
Und die beans.xml config:
<beans>
<bean id="test" class="com.Test"/>
</beans>
Jetzt, wenn ich versuche, eine Arraylist zu machen, die statische Variable setzt jedes Mal.
for (int i=0;i<9;i++) {
arrayList.add(context.getBean("test");
arrayList.get(i).getId();
}
Es wird gedruckt, dass „Dies ist 1“ für jedes Objekt in der Arraylist. Wie kann ich es so machen, dass die statische Variable ihren globalen Wert behält?
Da der Standardbereich Singleton ist, erhalten Sie jedes Mal dasselbe Bean/Objekt, also denselben Wert. versuche, den Umfang auf den Prototyp zu setzen – Sarief
Ich frage mich: Warum benutzt du 'getBean (" Dreieck ")' anstelle von 'getBean (" Test ")'? – Andremoniy