使用spring注入自定义类数组

时间:2014-11-12 11:02:13

标签: java arrays spring spring-mvc

我需要使用弹簧注射在bean中设置我的自定义类(XYZ [] xyz)的数组。
如果这是一个对象数组,即(Object [] xyz),它使用列表集合可以正常工作,但当我将其更改为XYZ [] xyz时,我得到一个例外。

建议我需要做些什么来完成这个要求。

Class ABC {
private XYZ[] xyzArray;
public void setXyzArray(XYZ[] xyz) {
this.xyz = xyz;
}
}


Class XYZ {
private string str;
public void setStr(String str) {
this.str = str;
}
}

配置XML:

<bean id="abc" class="com.test.ABC">
<property name="xyzArray">
<list>
<bean ref="xyz"/>
</list>
</property>
</bean>
<bean id="xyz" class="com.test.XYZ">
<property name="str">
<value>Hello World</value>
</property>
</bean>

这个xyzArray没有被注射。

3 个答案:

答案 0 :(得分:2)

尝试

<array value-type="com.test.XYZ">
  <bean ref="xyz"/>
</array>

答案 1 :(得分:0)

this.xyz = xyz应为this.xyzArray = xyz

答案 2 :(得分:0)

那是因为你在xyzArray setter函数中有错误。这不应该编译。 还要尝试保持类名的Java命名标准(应从大写字母开始,后跟小写)。