HierarchicalBeanFactory Demo : XML Bean « Spring « Java






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)

Related examples in the same category

1.XML Bean Injection
2.Reference another bean and set property
3.Static Factory
4.Serach By Base Package
5.throw RequiredPropertyNotSetException
6.Properties File Based Spring Bean
7.Non Static Factory
8.Local Reference
9.Link With DataSource
10.Inheritance Demo
11.Filtered By Annotation
12.destroy method
13.dependency check Demo
14.Custom InitializationMethod
15.component scan
16.Component Scan and scope
17.Component Filter Assignable
18.implements BeanNameAware
19.Bean Lifecycle Initializing
20.Bean Lifecycle DisposableBean
21.Autowiring
22.Alias Bean Demo