使用嵌套bean时Spring不起作用的依赖项注入
我正在尝试使用Spring,但在将其用于案例时遇到了问题。 我有以下代码:使用嵌套bean时Spring不起作用的依赖项注入,spring,dependency-injection,autowired,Spring,Dependency Injection,Autowired,我正在尝试使用Spring,但在将其用于案例时遇到了问题。 我有以下代码: <util:map id="someMap" value-type="java.util.Set"> <entry key="a" value-ref="setA"/> <entry key="b" value-ref="setB"/> </util:map> <util:set id="setA"> <value>A<
<util:map id="someMap" value-type="java.util.Set">
<entry key="a" value-ref="setA"/>
<entry key="b" value-ref="setB"/>
</util:map>
<util:set id="setA">
<value>A</value>
</util:set>
<util:set id="setB">
<value>B</value>
</util:set>
A.
B
使用以下Java代码(使用@Qualifier获取“someMap”):
a.b.c包;
公共类{
私人最终地图;
@自动连线
公共SomeClass(@限定符(“someMap”)最终映射someMap){
this.someMap=someMap;
}
}
它给了我以下的错误:
org.springframework.beans.factory.UnsatifiedPendencyException:创建名为“a.b.c.SomeClass”的bean时出错:通过索引为[java.util.Map]类型的构造函数参数表示的未满足的依赖项:未找到依赖项[Map with value type java.util.Set]的[java.util.Set]类型的匹配bean:应至少有1个bean符合此依赖项的autowire候选项的条件。依赖项注释:{@org.springframework.beans.factory.annotation.Qualifier(value=someMap)};嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到依赖项[map with value type java.util.Set]类型为[java.util.Set]的匹配bean:至少需要1个符合此依赖项autowire候选项条件的bean。依赖项注释:{@org.springframework.beans.factory.annotation.Qualifier(value=someMap)}
看起来它找不到布景,但我不知道为什么会这样。您将如何解决此问题?我希望您使用的是spring 4.3或更高版本 尝试添加mapclass,键类型
<util:map id="AdditionalParams" map-class="java.util.HashMap"
key-type="java.lang.String" value-type="java.lang.String">
我希望您使用的是spring 4.3或更高版本 尝试添加mapclass,键类型
<util:map id="AdditionalParams" map-class="java.util.HashMap"
key-type="java.lang.String" value-type="java.lang.String">
我找到了解决此问题的方法。我不得不使用@Value(“#{@someMap}”)
而不是@Qualifier(“someMap”)
我找到了解决这个问题的方法。我不得不使用@Value(“#{@someMap}”)
而不是@Qualifier(“someMap”)
你使用的是spring 4.3或更高版本吗。较低的spring版本,你不能用spring 4.3或更高版本自动连接一个集合。较低的spring版本,你不能自动连接一个集合谢谢。这当然帮助我想出了解决办法。谢谢。这当然帮助我想出了解决办法。