Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Spring中初始化对象数组_Java_Arrays_Spring_Object - Fatal编程技术网

Java 在Spring中初始化对象数组

Java 在Spring中初始化对象数组,java,arrays,spring,object,Java,Arrays,Spring,Object,Student.java package org.manan.student; public class Student { String stName; int stId; public String getStName() { return stName; } public void setStName(String stName) { this.stName = stName; } public int getStId() { return st

Student.java

package org.manan.student;

public class Student {
    String stName;
    int stId;

public String getStName() {
    return stName;
}
public void setStName(String stName) {
    this.stName = stName;
}
public int getStId() {
    return stId;
}
public void setStId(int stId) {
    this.stId = stId;
}}
MainApplication.java

public static void main(String[] args) {
    Student[] student = new Student[3];

    for(int i = 0; i < student.length; i++) {
        student[i] = new Student();
    }

}
现在我的问题是,如何在beans.xml文件中初始化上述学生数组

Beans.xml

<?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">


<bean id="mainApplication" class="org.manan.main.MainApplication">
    <property name="student">
        <list>
            <ref bean="student" />
        </list> 
    </property>
</bean>

<bean id="student" class="org.manan.student.Student">
</bean> 
</beans>
简而言之,如何配置 学生[]学生=新学生[3]; 到Beans.xml文件中?

尝试添加

<bean id="student" class="org.manan.student.Student" scope="prototype"> </bean>
如果不这样做,则引用将指向singelton上的相同对象 然后只参考它几次

<list> 
<ref bean="student" /> 
<ref bean="student" />
<ref bean="student" />
</list>
使用prototype,每次引用bean时,它都是新实例。默认情况下,它将是单例的,即使您多次引用它,所有三个元素都将包含相同的对象

<bean id="mainApplication" class="org.manan.main.MainApplication">
    <property name="student">
        <list>
            <ref bean="student" />
            <ref bean="student" />
            <ref bean="student" />
        </list> 
    </property>
</bean>

<bean id="student" class="org.manan.student.Student" scope="prototype">
</bean>

我的意思是如何在Beans.xml中声明和初始化Student对象的数组?但如果我必须初始化100个对象呢?您必须引用它100次,但您不认为这是低效的吗?在这种情况下,应该有另一种方法来做这件事——弹簧工厂法——你能告诉我怎么做吗?因为我是春天的新手