Spring Collection Dependencies Example

Student.java File

package com.jtechies;

import java.util.List;

public class Student {
	private String name;
	private List<Teacher> teachers;
	private String rollNo;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public List<Teacher> getTeachers() {
		return teachers;
	}
	public void setTeachers(List<Teacher> teachers) {
		this.teachers = teachers;
	}
	public String getRollNo() {
		return rollNo;
	}
	public void setRollNo(String rollNo) {
		this.rollNo = rollNo;
	}
	@Override
	public String toString() {
		return "Student [name=" + name + ","
			+ teachers + ", rollNo="
				+ rollNo + "]";
	}
}

Teacher.java File

package com.jtechies;

pupackage com.jtechies;

public class Teacher {
	private String name;
	private String subject;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSubject() {
		return subject;
	}
	public void setSubject(String subject) {
		this.subject = subject;
	}
	@Override
	public String toString() {
		return "Teacher [name=" + name + ",
			subject=" + subject + "]";
	}
}

Test.java File

package com.jtechies;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.
		ClassPathXmlApplicationContext;

public class Test {
   public static void main(String[] args) {
     ApplicationContext context = new
     	ClassPathXmlApplicationContext("Beans.xml");
     Student student= (Student)context.getBean("student");
     System.out.println(student);
   }
}

Beans.xml file

<?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-3.0.xsd">

   <bean id="student" class="com.jtechies.Student">
       <property name="teachers">
       <list>
       <ref bean="teacher1"/>
       <ref bean="teacher2"/>
       <ref bean="teacher3"/>
       </list>
       </property>
       <property name="rollNo" value="1001"/>
   </bean>
   
   <bean id="teacher1" class="com.jtechies.Teacher">
       <property name="name" value="Peter"/>
       <property name="subject" value="c programming"/>
   </bean>
   <bean id="teacher2" class="com.jtechies.Teacher">
       <property name="name" value="John"/>
       <property name="subject" value="Data Structure"/>
   </bean>
   <bean id="teacher3" class="com.jtechies.Teacher">
       <property name="name" value="MR. Grey"/>
       <property name="subject"
       	value="Computer Architecture"/>
   </bean>
</beans>

Output

Student [name=peter,[Teacher [name=Peter, subject=c programming], 
Teacher [name=John, subject=Data Structure], 
Teacher [name=MR. Grey, subject=Computer Architecture]], 
rollNo=1001]