我有一個例子的場景。春季豆執法範圍
<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