Mega Code Archive

 
Categories / Java / Spring
 

Init Interface

/* Pro Spring By Rob Harrop Jan Machacek ISBN: 1-59059-461-4 Publisher: Apress */ /////////////////////////////////////////////////////////////////////////////////////// //File: initInterface.xml <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans>     <bean id="simpleBean1" class="SimpleBeanWithInterface" init-method="myInit">         <property name="name">             <value>Rob Harrop</value>         </property>         <property name="age">             <value>100</value>         </property>     </bean>     <bean id="simpleBean2" class="SimpleBeanWithInterface">         <property name="age">             <value>100</value>         </property>     </bean>     <bean id="simpleBean3" class="SimpleBeanWithInterface">         <property name="name">             <value>Rob Harrop</value>         </property>     </bean> </beans> /////////////////////////////////////////////////////////////////////////////////////// import org.springframework.beans.factory.BeanCreationException; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.FileSystemResource; public class SimpleBeanWithInterface implements InitializingBean {     private static final String DEFAULT_NAME = "Luke Skywalker";     private String name = null;     private int age = Integer.MIN_VALUE;     public void setName(String name) {         this.name = name;     }     public void setAge(int age) {         this.age = age;     }     public void myInit() {         System.out.println("My Init");     }     public void afterPropertiesSet() throws Exception {         System.out.println("Initializing bean");         if (name == null) {             System.out.println("Using default name");             name = DEFAULT_NAME;         }         if (age == Integer.MIN_VALUE) {             throw new IllegalArgumentException(                     "You must set the age property of any beans of type " + SimpleBean.class);         }     }     public String toString() {         return "Name: " + name + "\nAge: " + age;     }     public static void main(String[] args) {         BeanFactory factory = new XmlBeanFactory(new FileSystemResource(                 "build/initInterface.xml"));         SimpleBeanWithInterface simpleBean1 = getBean("simpleBean1", factory);         SimpleBeanWithInterface simpleBean2 = getBean("simpleBean2", factory);         SimpleBeanWithInterface simpleBean3 = getBean("simpleBean3", factory);     }     private static SimpleBeanWithInterface getBean(String beanName,             BeanFactory factory) {         try {             SimpleBeanWithInterface bean = (SimpleBeanWithInterface) factory.getBean(beanName);             System.out.println(bean);             return bean;         } catch (BeanCreationException ex) {             System.out.println("An error occured in bean configuration: "                     + ex.getMessage());             return null;         }     } } /////////////////////////////////////////////////////////////////////////////////////// import org.springframework.beans.factory.BeanCreationException; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.FileSystemResource; public class SimpleBean {     private static final String DEFAULT_NAME = "Luke Skywalker";     private String name = null;     private int age = Integer.MIN_VALUE;     public void setName(String name) {         this.name = name;     }     public void setAge(int age) {         this.age = age;     }     public void init() {         System.out.println("Initializing bean");        if (name == null) {             System.out.println("Using default name");             name = DEFAULT_NAME;         }         if (age == Integer.MIN_VALUE) {             throw new IllegalArgumentException(                     "You must set the age property of any beans of type " + SimpleBean.class);         }     }     public String toString() {         return "Name: " + name + "\nAge: " + age;     }     public static void main(String[] args) {         BeanFactory factory = new XmlBeanFactory(new FileSystemResource(                 "build/initMethod.xml"));         SimpleBean simpleBean1 = getBean("simpleBean1", factory);                 SimpleBean simpleBean2 = getBean("simpleBean2", factory);         SimpleBean simpleBean3 = getBean("simpleBean3", factory);     }     private static SimpleBean getBean(String beanName, BeanFactory factory) {         try {             SimpleBean bean =(SimpleBean) factory.getBean(beanName);             System.out.println(bean);             return bean;         } catch (BeanCreationException ex) {             System.out.println("An error occured in bean configuration: "                     + ex.getMessage());             return null;         }     } }                     Init-Interface.zip( 1,199 k)