Java Spring单例传递到其他对象
我从我正在编写的程序中得到了一些奇怪的行为,我对bean是如何传递的感到好奇 以下是代码(伪代码…ish):Java Spring单例传递到其他对象,java,spring,Java,Spring,我从我正在编写的程序中得到了一些奇怪的行为,我对bean是如何传递的感到好奇 以下是代码(伪代码…ish): 我在数组中看到了不同的对象。是的,arraylist的每个对象中的生成器应该是相同的。因为SpringBean在默认情况下是单例的 您是否对arraylist中的generator对象进行了比较?这应该是真的,因为它们都是同一个对象。是的 get(0).getNextValue()影响对象。get(1).getNextValue() 提供的getNextValue()实现是否完整?因为在
我在数组中看到了不同的对象。是的,arraylist的每个对象中的生成器应该是相同的。因为SpringBean在默认情况下是单例的 您是否对arraylist中的generator对象进行了比较?这应该是真的,因为它们都是同一个对象。是的 get(0).getNextValue()影响对象。get(1).getNextValue()
提供的
getNextValue()
实现是否完整?因为在同一对象上按逻辑顺序调用getNextValue()
将始终返回不同的值 是,arraylist的每个对象中的生成器应该相同。因为SpringBean在默认情况下是单例的
您是否对arraylist中的generator对象进行了比较?这应该是真的,因为它们都是同一个对象。是的
get(0).getNextValue()影响对象。get(1).getNextValue()
提供的
getNextValue()
实现是否完整?因为在同一对象上按逻辑顺序调用getNextValue()
将始终返回不同的值 对象类有这样的构造函数吗?对象类有这样的构造函数吗?
<bean id="Factory" class="com.xxx.xxx.Factory">
<constructor-arg name="generator" ref="Generator"/>
</bean>
<bean id="Generator" class="com.xxx.xxx.Generator">
<constructor-arg name="min" value="0"/>
<constructor-arg name="max" value="5"/>
</bean>
class Generator {
public Generator (min, max) {}
public Integer getNextValue () {
return nextValueInSequence; // min > max cyclically
}
}
class Factory{
public Factory (Generator generator) {
ArrayList<Object> objects = new ArrayList<>();
for (0 ... 4) {
Object obj = new Object(generator);
objects.add(obj);
}
}
}
objects.get(0).getNextValue() > 2
objects.get(1).getNextValue() > 3
objects.get(0).getNextValue() > 4