2014-11-12 2 views
0

Мне нужно установить массив моего пользовательского класса (XYZ [] xyz) в компоненте, используя весеннюю инъекцию.
Если это массив объекта i.e. (Object [] xyz), он отлично работает с использованием коллекции списков,
, но я получаю исключение, когда меняю его на XYZ [] xyz.Inject Пользовательский массив классов с использованием пружины

Предложите, что мне нужно для выполнения этого требования.

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 не получает инъекции.

+0

Что ошибка вы получаете? Некоторое исключение или xyzArray остается нулевым? – RandomQuestion

ответ

2

попробовать

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

Это потому, что у вас есть ошибка в функции настройки xyzArray. Это не должно компилироваться. Также попробуйте сохранить стандарты именования Java для имени класса (должно начинаться с верхней буквы, а затем в нижнем регистре).

Смежные вопросы