kar*_*arq 29 spring list autowired
是否可以使用@Autowired列表?
就像我有mimetypes属性文件一样,在我的类文件中我有这样的东西
@Autowired
private List<String> mimeTypes = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
Tho*_*Tho 47
Spring 4支持自动收集给定类型的所有bean并将它们注入集合或数组的能力.
例:
@Component
public class Car implements Vehicle {
}
@Component
public class Bus implements Vehicle {
}
@Component
public class User {
@Autowired
List<Vehicle> vehicles;//contains car and bus
}
Run Code Online (Sandbox Code Playgroud)
参考:Spring 4订购Autowired Collections
Joh*_*erg 33
@Qualifier("..")气馁,而是尝试自动装配按姓名使用
private @Resource(name="..") List<Strings> mimeTypes;
Run Code Online (Sandbox Code Playgroud)
另请参见如何自动装配factorybean.
chz*_*gla 10
您甚至可以java.util.List在spring .xml中创建一个并将其注入@Qualifier您的应用程序.来自Springsource http://static.springsource.org/spring/docs/current/reference/xsd-config.html:
<!-- creates a java.util.List instance with the supplied values -->
<util:list id="emails">
<value>pechorin@hero.org</value>
<value>raskolnikov@slums.org</value>
<value>stavrogin@gov.org</value>
<value>porfiry@gov.org</value>
</util:list>
Run Code Online (Sandbox Code Playgroud)
所以这会改变你的布线:
@Autowired
@Qualifier("emails")
private List<String> mimeTypes = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
我会建议这种方法,因为你无论如何都要注入一个字符串列表.
干杯!
编辑
如果你想注入属性,请看看这个如何将属性值注入使用注释配置的Spring Bean?
sbl*_*ndy -1
只要列表是一个 bean,您就应该能够自动装配它。然后,您可以使用 来@Qualifier告诉 Spring 使用哪个 bean/列表。请参阅http://static.springsource.org/spring/docs/3.0.x/reference/beans.html#beans-autowired-annotation-qualifiers
| 归档时间: |
|
| 查看次数: |
46970 次 |
| 最近记录: |