我有一个具有以下构造函数的类:
public MyClass(Map<String s, Collection<Object>> co){
//impl
}
我需要通过 Spring bean 的声明来调用它。我试图做这样的事情:
<bean id="toInject" class="path.toSomClass" />
<bean id="myBean" class="path.to.MyClass">
<constructor-arg>
<map>
<entry key="String"
value-ref="_WHAT_SHOULD_I_WRITE_HERE_TO_DECLARE_A_COLLECTION_FROM_THE_ONLY_toInject">
</map>
</constructor-arg>
</bean>
我不关心 Collection
的类型(它可能是 List<T>
以及 Set<T>
,或任何其他实现 Collection<T>
的东西)。
最佳答案
您可以声明一个 <list>
元素作为条目值的一部分,如下所示:
<bean id="myBean" class="path.to.MyClass">
<constructor-arg>
<map>
<entry key="String">
<list>
<ref bean="toInject" />
</list>
</entry>
</map>
</constructor-arg>
</bean>
关于java - Map<String, Collection<Object>> 是否可以在 Spring 中声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33369654/