Bean Injection Collection: Map
File: context.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" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="collectionsDemo" class="CollectionsDemo"> <property name="map"> <map> <entry key="someValue"> <value>Hello World!</value> </entry> <entry key="someBean"> <ref local="oracle"/> </entry> </map> </property> <property name="props"> <props> <prop key="firstName"> Jan </prop> <prop key="secondName"> Machacek </prop> </props> </property> <property name="set"> <set> <value>Hello World!</value> <ref local="oracle"/> </set> </property> <property name="list"> <list> <value>Hello World!</value> <ref local="oracle"/> </list> </property> </bean> <bean id="oracle" class="BookwormOracle"/> </beans> File: Main.java import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource; public class Main { public static void main(String[] args) { BeanFactory factory = new XmlBeanFactory(new ClassPathResource("context.xml")); CollectionsDemo instance = (CollectionsDemo) factory.getBean("collectionsDemo"); instance.displayInfo(); } } interface Encyclopedia { Long findLong(String entry); } interface Oracle { String defineMeaningOfLife(); } class BookwormOracle implements Oracle { private Encyclopedia encyclopedia; public String defineMeaningOfLife() { Long ageOfUniverse = this.encyclopedia.findLong("AgeOfUniverse"); Long constantOfLife = this.encyclopedia.findLong("ConstantOfLife"); return String.valueOf(ageOfUniverse / constantOfLife); } public void setEncyclopedia(Encyclopedia encyclopedia) { this.encyclopedia = encyclopedia; } } class CollectionsDemo { private Map map; private Properties props; private Set set; private List list; public void setList(List list) { this.list = list; } public void setSet(Set set) { this.set = set; } public void setMap(Map map) { this.map = map; } public void setProps(Properties props) { this.props = props; } public void displayInfo() { // display the Map Iterator i = map.keySet().iterator(); System.out.println("Map contents:\n"); while (i.hasNext()) { Object key = i.next(); System.out.println("Key: " + key + " - Value: " + map.get(key)); } // display the properties i = props.keySet().iterator(); System.out.println("\nProperties contents:\n"); while (i.hasNext()) { String key = i.next().toString(); System.out.println("Key: " + key + " - Value: " + props.getProperty(key)); } // display the set i = set.iterator(); System.out.println("\nSet contents:\n"); while (i.hasNext()) { System.out.println("Value: " + i.next()); } // display the list i = list.iterator(); System.out.println("\nList contents:\n"); while (i.hasNext()) { System.out.println("Value: " + i.next()); } } }