Collection Injection
/*
Pro Spring
By Rob Harrop
Jan Machacek
ISBN: 1-59059-461-4
Publisher: Apress
*/
///////////////////////////////////////////////////////////////////////////////////////
//File: beans.xml
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd" >
<beans>
<!-- oracle bean used for a few examples -->
<bean id= "oracle" name= "wiseworm" class = "BookwormOracle" />
<!-- collection injection samples -->
<bean id= "injectCollection" class = "CollectionInjection" >
<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" > Rob </prop>
<prop key= "secondName" > Harrop </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>
</beans>
///////////////////////////////////////////////////////////////////////////////////////
public interface Oracle {
public String defineMeaningOfLife () ;
}
///////////////////////////////////////////////////////////////////////////////////////
public class Encyclopedia {
}
///////////////////////////////////////////////////////////////////////////////////////
public class BookwormOracle implements Oracle {
private Encyclopedia enc;
public void setEncyclopedia ( Encyclopedia enc ) {
this .enc = enc;
}
public String defineMeaningOfLife () {
return "Encyclopedia's are a waste of money - use the Internet" ;
}
}
///////////////////////////////////////////////////////////////////////////////////////
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.FileSystemResource;
public class CollectionInjection {
private Map map;
private Properties props;
private Set set;
private List list;
public static void main ( String [] args ) {
BeanFactory factory = new XmlBeanFactory ( new FileSystemResource (
"build/beans.xml" )) ;
CollectionInjection instance = ( CollectionInjection ) factory.getBean ( "injectCollection" ) ;
instance.displayInfo () ;
}
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 ()) ;
}
}
}
CollectionInjection.zip( 1,199 k)
Related examples in the same category