キーに基づいてインスタンスを返すマップを春に構成しました。しかし、問題は、Bean がプロトタイプであっても毎回新しいインスタンスを作成するのではなく、常にマップ エントリ (プレート、スプーン、フォーク) の同じインスタンスを返すことです。私は何が欠けていますか?
私は春の非常に古いバージョンに取り組んでいることに注意してください。ここで私の設定:
<bean id="plate" class="com.xyz.items" singleton="false"/>
<bean id="spoon" class="com.xyz.items" singleton="false"/>
<bean id="fork" class="com.xyz.items" singleton="false"/>
<bean id="ItemFactory" class="com.xyz.items.ItemFactory" >
<property name="registeredItems">
<map>
<entry key="spoon" value-ref="spoon"/>
<entry key="plate" value-ref="plate"/>
<entry key="fork" value-ref="fork"/>
</map>
</property>
</bean>
//Here's the stuff in java
public class ItemFactory {
private Map registeredItems;
private Item getItem(String item ){
Item item = (Item)registeredItems.get(item);
return item;
}}
| |