我们新创建一个java项目 然后引入spring的基本依赖
在src下创建一个collectiontype 包
 在 collectiontype 包下创建一个 Course类
参考代码如下
package collectiontype;
//课程类
public class Course {
    //课程名称
    private String cname;
    public void setCname(String cname) {
        this. cname = cname;
    }
}
我们定义了一个 cname属性 然后定义了他的set方法
 这个类就代表课程存储的工具
然后 在 collectiontype包下创建 Stu类 参考代码如下
package collectiontype;
import java.util.List;
public class Stu {
    //学生所学多门课程
    private List<Course> courseList;
    public void setCourseList(List<Course> courseList) {
        this.courseList = courseList;
    }
}
这就是个学生类 定义了 list类型的courseList 类型就是我们一个对象 对象具体就是Course课程类的对象
 存储学生具体学习了哪些课程
然后定义courseList的set方法
然后在src下创建 bean.xmli 参考代码如下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="course" class="collectiontype.Course">
        <property name="cname" value="html"></property>
    </bean>
    <bean id="course1" class="collectiontype.Course">
        <property name="cname" value="css"></property>
    </bean>
    <bean id="course2" class="collectiontype.Course">
        <property name="cname" value="JavaScript"></property>
    </bean>
    <!-- 集合类型属性注入 -->
    <bean id="stu" class="collectiontype.Stu">
        <!--list 对象类型属性注入-->
        <property name="courseList">
            <list>
                <ref bean = "course"></ref>
                <ref bean = "course1"></ref>
                <ref bean = "course2"></ref>
            </list>
        </property>
    </bean>
</beans>
这里很明显 我们定义了多个Course类的对象 赋了不同的值 id不一样 然后 Stu创建对象
 给courseList注入我们上面分开定义的Course对象
 这就是list xml注入对象的一个方式
然后 我们在Stu类中定义一个test 方法 输出看一下courseList注入的结果
public void test() {
   System.out.println(courseList);
}
然后在src目录下创建一个测试类 代码如下
import collectiontype.Stu;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class text {
    public static void main(String args[]) {
        //获取配置文件
        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
        Stu stu = context.getBean("stu", Stu.class);
        stu.test();
    }
}
通过ApplicationContext读取xml配置文件 并反射创建对象 再通过对象调用test方法
运行结果如下
 
 其实这就已经输出类对象了 但为了看到明显 我们重写一个Course类的toString方法
public String toString() {
 return "cname = "+cname;
}
再次运行测试类 输出结果如下
 
 也是没有任何问题



















