Mega Code Archive

 
Categories / Java / Spring
 

HierarchicalBeanFactory Demo

File: injectdemo2-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="name" class="java.lang.String">         <constructor-arg value="My Value 1"/>     </bean>     <bean id="injectSimpleParent" class="InjectSimpleDemo">         <property name="name" ref="name"/>         <property name="age" value="2"/>         <property name="height" value="0.8"/>         <property name="isProgrammer" value="false"/>         <property name="ageInSeconds" value="63072000"/>     </bean> </beans> File: injectdemo3-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="name" class="java.lang.String">         <constructor-arg value="My value"/>     </bean>     <bean id="injectSimpleChild" class="InjectSimpleDemo">         <property name="name" ref="name"/>         <property name="age" value="2"/>         <property name="height" value="0.8"/>         <property name="isProgrammer" value="false"/>         <property name="ageInSeconds" value="63072000"/>     </bean>     <bean id="injectSimpleChild2" class="InjectSimpleDemo">         <property name="name">             <ref parent="name"/>         </property>         <property name="age" value="2"/>         <property name="height" value="0.8"/>         <property name="isProgrammer" value="false"/>         <property name="ageInSeconds" value="63072000"/>     </bean> </beans> File: Main.java import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource; public class Main {   public static void main(String[] args) {     XmlBeanFactory parent = new XmlBeanFactory(new ClassPathResource("injectdemo2-context.xml"));     XmlBeanFactory child = new XmlBeanFactory(new ClassPathResource("injectdemo3-context.xml"), parent);     System.out.println(parent.getBean("injectSimpleParent"));     System.out.println(child.getBean("injectSimpleChild"));     System.out.println(child.getBean("injectSimpleChild2"));  } } class InjectSimpleDemo {   private String name;   private int age;   private float height;   private boolean isProgrammer;   private Long ageInSeconds;   public void setAgeInSeconds(Long ageInSeconds) {     this.ageInSeconds = ageInSeconds;   }   public void setIsProgrammer(boolean isProgrammer) {     this.isProgrammer = isProgrammer;   }   public void setAge(int age) {     this.age = age;   }   public void setHeight(float height) {     this.height = height;   }   public void setName(String name) {     this.name = name;   }   @Override   public String toString() {     return String.format("Name: %s\nAge: %d\nAge in Seconds: %d\nHeight: %g\nIs Programmer?: %b",         this.name, this.age, this.ageInSeconds, this.height, this.isProgrammer);   } }                     Spring-HierarchicalBeanFactoryDemo.zip( 2,600 k)