如果我有一个接口(interface)I
,以及一些实现它的类,是否可以注入(inject)数组 I[]
或 List<I>
变成 bean ?我看到它可以为 List<Object>
完成使用 <list></list>
, 但我想在这里参数化我的列表 - 或者得到一个 I
类型的数组.
列表/数组中的元素数量是固定的,并且在运行前确定。
提前感谢任何反馈:-)
最佳答案
I Spring 3.1 可以将其注入(inject)为:
@Inject
List<I> list;
I
是您的界面(但它应该是具体的)。
或者您可以使用 Spring Java Config (@Configuration
) 生成 (@Bean
) 命名列表并使用 Qualifier
或 @Named
。
您也可以将类型化命名列表定义为 here :
<?xml version="1.0" encoding="UTF-8"?>
<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.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">
<util:list id="myList" value-type="java.lang.String">
<value>foo</value>
<value>bar</value>
</util:list>
关于java - Spring:将某种类型的数组或列表注入(inject) bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15508950/