Hierarchical Bean Factory Usage
/*
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>
<!-- hierarchical bean factories -->
<bean id="target1" class="SimpleTarget">
<property name="val">
<ref bean="injectBeanParent"/>
</property>
</bean>
<bean id="target2" class="SimpleTarget">
<property name="val">
<ref local="injectBean"/>
</property>
</bean>
<bean id="target3" class="SimpleTarget">
<property name="val">
<ref parent="injectBean"/>
</property>
</bean>
<bean id="injectBean" class="java.lang.String">
<constructor-arg>
<value>Bean In Child</value>
</constructor-arg>
</bean>
</beans>
///////////////////////////////////////////////////////////////////////////////////////
//File: parent.xml
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="injectBean" class="java.lang.String">
<constructor-arg>
<value>Bean In Parent</value>
</constructor-arg>
</bean>
<bean id="injectBeanParent" class="java.lang.String">
<constructor-arg>
<value>Bean In Parent</value>
</constructor-arg>
</bean>
</beans>
///////////////////////////////////////////////////////////////////////////////////////
public class SimpleTarget {
private String val;
public void setVal(String val) {
this.val = val;
}
public String getVal() {
return val;
}
}
///////////////////////////////////////////////////////////////////////////////////////
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;
public class HierarchicalBeanFactoryUsage {
public static void main(String[] args) {
BeanFactory parent = new XmlBeanFactory(new FileSystemResource(
"build/parent.xml"));
BeanFactory child = new XmlBeanFactory(new FileSystemResource(
"build/beans.xml"), parent);
SimpleTarget target1 = (SimpleTarget) child.getBean("target1");
SimpleTarget target2 = (SimpleTarget) child.getBean("target2");
SimpleTarget target3 = (SimpleTarget) child.getBean("target3");
System.out.println(target1.getVal());
System.out.println(target2.getVal());
System.out.println(target3.getVal());
}
}
HierarchicalBeanFactoryUsage.zip( 1,198 k)Related examples in the same category