我有一个例子的场景。春季豆执法范围
<bean id="xyzService" class="XyzServiceImpl" scope="prototype">
<property name="aDependency" ref="aDependency" />
<property name="bDependency" ref="bDependency" />
</bean>
<bean id="useService" class="UseServiceImpl">
<property name="xyzService" ref="xyzService"/>
</bean>
的Java类:
public class XyzServiceImpl implements XyzService{
private ADependency aDependency= null;
private BDependency bDependency= null;
// getters and setters...
}
public class UseServiceImpl implements UseService {
private XyzService xyzService= null;
// getters and setters...
xyzService.doSomething();
}
现在UseServiceImpl里面我每次想到xyzService的一个新实例,但我总是返回相同的单一实例。还有一种情况是aDependency
和bDependency
可能会在内部再次引用一些其他bean的引用。
现在我有一个问题,如何获得xyzService的新实例。难道我做错了什么?
如果你看到我的xyxService它被标记为原型。但我仍然得到相同的实例 – chaosguru
你是如何检查你仍然得到相同的实例 –
一种方法是我有一组值填充在一个应该不存在的新实例的依赖。而且我也可以记录Class总是相同的对象ID。 – chaosguru