Xml 财产';java.util.ArrayList<;java.lang.String>';类型不能由';列表';

Xml 财产';java.util.ArrayList<;java.lang.String>';类型不能由';列表';,xml,spring,intellij-idea,Xml,Spring,Intellij Idea,我使用intelliJ IDEA 16.1版本来实践Spring框架 学生班 } spring配置xml文件 123 软件 数据库 OOAD 我写了上面的代码 错误消息是'List'无法注入'java.util.ArrayList'类型的属性。 知道如何修复它吗?请尝试以下方法: <bean id="student1" class="com.tistory.johnmarc.Student"> <property name="name" value="장정현"/> &

我使用intelliJ IDEA 16.1版本来实践Spring框架

学生班 }

spring配置xml文件

123
软件
数据库
OOAD
我写了上面的代码

错误消息是'List'无法注入'java.util.ArrayList'类型的属性。

知道如何修复它吗?

请尝试以下方法:

<bean id="student1" class="com.tistory.johnmarc.Student">
<property name="name" value="장정현"/>
<property name="studentId">
    <value>123</value>
</property>
<property name="depart">
    <value>software</value>
</property>
<property name="lecture" >
  <!-- Changes start -->
    <util:list list-class="java.util.ArrayList">
        <value>database</value>
        <value>OOAD</value>         
    </util:list>
  <!-- Changes end -->
</property>

123
软件
数据库
OOAD

参考:

尝试另一种方法-将学生类更改为使用列表,而不是ArrayList。学生类不需要知道列表实现

所以

私人ArrayList讲座;
应该是

private List<String> lecture;
私人列表讲座;
类似地,getter和setter需要更改为:

public List<String> getLecture() {
    return lecture;
}

public void setLecture(List<String> lecture) {
    this.lecture = lecture;
}
public List gettouch(){
回访讲座;
}
公开讲座(列表讲座){
这个讲座=讲座;
}

谢谢你的建议,但我还有问题。错误消息是“Bean必须是以下类型之一:java.lang.String或java.util.ArrayList..检查Spring注入的值类型(属性和构造函数参数)”
<bean id="student1" class="com.tistory.johnmarc.Student">
<property name="name" value="장정현"/>
<property name="studentId">
    <value>123</value>
</property>
<property name="depart">
    <value>software</value>
</property>
<property name="lecture" >
  <!-- Changes start -->
    <util:list list-class="java.util.ArrayList">
        <value>database</value>
        <value>OOAD</value>         
    </util:list>
  <!-- Changes end -->
</property>
private ArrayList<String> lecture;
private List<String> lecture;
public List<String> getLecture() {
    return lecture;
}

public void setLecture(List<String> lecture) {
    this.lecture = lecture;
}