Gui*_*ume 22 java spring annotations
我有一个似乎是一个简单的问题,正如标题中所述.这是我的课程类型:
public class Foo {
@Autowired
public Foo(@Qualifier("bar") Set<String> bar) {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下spring语境运行:
<context:annotation-config />
<util:set id="bar">
<value>tata</value>
<value>titi</value>
<value>toto</value>
</util:set>
<bean id="foo" class="Foo" />
Run Code Online (Sandbox Code Playgroud)
这无法运行:
没有为依赖[java.lang.String的集合]找到匹配的类型为[java.lang.String]的bean:期望至少有一个bean可以作为此依赖项的autowire候选者.依赖注释:{@ org.springframework.beans.factory.annotation.Qualifier(value = bar)}
请注意,如果我将其他参数添加到我的构造函数中,它可以正常工作.如果我使用setter注入,它工作正常.我敢肯定我会错过一些明显的东西......你知道吗?
正如其他人所说,不可能将@Autowired用于字符串和字符串集合.假设你在版本3中有弹簧,你可以在这里使用带弹簧EL的@Value:
public class Foo {
@Autowired
public Foo(@Value("#{bar}") Set<String> bar) {
// ...
}
}