在我的 XML 配置中,我有这个:
<bean id="soap" class="org.grocery.item.Soap" scope="prototype">
<property name="price" value="20.00" />
</bean>
在我的服务类中,我有这样的“肥皂”自动接线:
@Autowired
private Soap soap;
//Accessor methods
我创建了一个这样的测试类:
Item soap = service.getItem(ITEM.SOAP);
Item soap2 = service.getItem(ITEM.SOAP);
if(soap2 == soap ){
System.out.println("SAME REFERENCE");
}
这是我的服务类中的 getItem 方法:
public Item item(Item enumSelector) {
switch (enumSelector) {
case SOAP:
return this.getSoap();
}
return null;
}
@Autowired
private Soap soap;
//Accessor methods
现在我期待的是当我调用 this.getSoap(); 它将返回一个新的 Soap 对象。然而,它没有,即使肥皂被声明为原型。这是为什么?