java - Spring:将某种类型的数组或列表注入(inject) bean

标签 java spring

如果我有一个接口(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/

相关文章:

java - JPA 类型化查询设置参数

java - 解析 int 时出现 NumberFormatException

java - 在 Threads 中访问作用域代理 bean

java - Spring/JPA/Hibernate 可以使用简单的 JDBC 兼容驱动程序吗?

Eclipse 中的 Java 错误 - soundresource 无法解析为变量

java - 设置 Spring RestTemplate 的默认内容类型 header

java - Spring没有注入(inject)属性

java - JPA : Auto Increment ID with Oracle Database

java - 当实际值可能为 0 时检查未初始化的 int?

java - 字符串java正则表达式中的多个反斜杠