|  | 
 
 
 
 | Simple Inject By Name |  | 
 |  
   
 
 
/* 
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> 
    <!-- injecting built-in vals sample --> 
    <bean id="injectSimple" class="InjectSimple"> 
        <property name="name"> 
            <value>John Smith</value> 
        </property> 
        <property name="age"> 
            <value>35</value> 
        </property> 
        <property name="height"> 
            <value>1.78</value> 
        </property> 
        <property name="isProgrammer"> 
            <value>true</value> 
        </property> 
        <property name="ageInSeconds"> 
            <value>1103760000</value> 
        </property> 
    </bean> 
     
    <!-- oracle bean used for a few examples --> 
    <bean id="oracle" name="wiseworm" class="BookwormOracle"/> 
     
    <!-- injecting reference sample (using id) 
    <bean id="injectRef" class="InjectRef"> 
        <property name="oracle"> 
            <ref local="oracle"/> 
        </property> 
    </bean> 
     --> 
    <!-- inject ref sample (using name) --> 
    <bean id="injectRef" class="InjectRef"> 
        <property name="oracle"> 
            <ref bean="wiseworm"/> 
        </property> 
    </bean> 
</beans> 
 
 
 
/////////////////////////////////////////////////////////////////////////////////////// 
public interface Oracle { 
 
    public String defineMeaningOfLife(); 
} 
 
 
 
/////////////////////////////////////////////////////////////////////////////////////// 
 
 
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"; 
    } 
 
} 
 
 
 
/////////////////////////////////////////////////////////////////////////////////////// 
 
public class Encyclopedia { 
 
} 
 
 
/////////////////////////////////////////////////////////////////////////////////////// 
 
 
public class InjectRef { 
 
    private Oracle oracle; 
     
    public void setOracle(Oracle oracle) { 
        this.oracle = oracle; 
        System.out.println(oracle.defineMeaningOfLife()); 
    } 
} 
 
/////////////////////////////////////////////////////////////////////////////////////// 
import org.springframework.beans.factory.BeanFactory; 
import org.springframework.beans.factory.xml.XmlBeanFactory; 
import org.springframework.core.io.FileSystemResource; 
 
public class InjectSimple { 
 
    private String name; 
 
    private int age; 
 
    private float height; 
 
    private boolean isProgrammer; 
 
    private Long ageInSeconds; 
 
    public static void main(String[] args) { 
        BeanFactory factory = new XmlBeanFactory(new FileSystemResource( 
                "build/beans.xml")); 
        InjectSimple simple = (InjectSimple)factory.getBean("injectSimple"); 
        factory.getBean("injectRef"); 
        System.out.println(simple); 
    } 
 
    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; 
    } 
 
    public String toString() { 
        return    "Name :" + name + "\n" 
                + "Age:" + age + "\n" 
                + "Age in Seconds: " + ageInSeconds + "\n" 
                + "Height: " + height + "\n" 
                + "Is Programmer?: " + isProgrammer; 
    } 
} 
            
       
  |     
 
 |   |   SimpleInjectByName.zip( 1,200 k) |  | Related examples in the same category |   
 |