spring xml context util:忽略map键,改为使用bean id

时间:2015-03-13 11:30:12

标签: java spring dictionary

我正在尝试创建一个String => Object的地图,如下所示:

<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:util="http://www.springframework.org/schema/util"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">

<util:map id="things">
    <entry key="something">
        <ref bean="somethingBean"/>
    </entry>
</util:map>

<bean id="somethingBean" class="Something"></bean>

将其注入我的java代码后,我得到一张地图,但是密钥设置为&#34; somethingBean&#34;而不是&#34;某事&#34;。有任何想法吗?感谢。

1 个答案:

答案 0 :(得分:1)

如果你像这样在构造函数中注入这样的地图,那么就会结束Spring的怪胎:

@Inject
public MyClass(Map<String, Something> things){}

如果您使用资源注释,则可以正常工作:

@Resource(name = "things")
private Map<String, Something> things;