Mega Code Archive

 
Categories / Java / Spring
 

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)