Java/Spring/IoC Bean Name

Материал из Java эксперт
Перейти к: навигация, поиск

Bean Name Aliasing

   <source lang="java">

/* 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>


   <bean id="name1" name="name2,name3,name4" class="java.lang.String"/>
   

</beans>

////////////////////////////////////////////////////////////////////////////// import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.FileSystemResource; public class BeanNameAliasing {

   public static void main(String[] args) {
       BeanFactory factory = new XmlBeanFactory(new FileSystemResource("build/beans.xml"));
       
       String s1 = (String)factory.getBean("name1");
       String s2 = (String)factory.getBean("name2");
       String s3 = (String)factory.getBean("name3");
       String s4 = (String)factory.getBean("name4");
       
       System.out.println((s1 == s2));
       System.out.println((s2 == s3));
       System.out.println((s3 == s4));
       
       String[] x = factory.getAliases("name3");
       System.out.println("");
   }

}


      </source>
   
  
 
  



Bean Name Example

   <source lang="java">

/* Pro Spring By Rob Harrop Jan Machacek ISBN: 1-59059-461-4 Publisher: Apress

  • /

///////////////////////////////////////////////////////////////////////////////////// <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans>

   <bean id="fooBean" class="AutoBean"/>
   <bean id="barBean" class="AutoBean"/>
   

</beans>

///////////////////////////////////////////////////////////////////////////////////// public class AutoBean {

   public void foo() {
       System.out.println("foo()");
   }

}

///////////////////////////////////////////////////////////////////////////////////// import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; public class BeanNameExample {

   public static void main(String[] args) {
       ApplicationContext ctx = new FileSystemXmlApplicationContext(
       "build/bnapc.xml");
       
       AutoBean fooBean = (AutoBean)ctx.getBean("fooBean");
       AutoBean barBean = (AutoBean)ctx.getBean("barBean");
       
       fooBean.foo();
       barBean.foo();
   }

}

      </source>
   
  
 
  



Define Bean Name

   <source lang="java">

/* 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>

   <bean id="string1" class="java.lang.String"/>
   <bean name="string2" class="java.lang.String"/>
   <bean class="java.lang.String"/>
   

</beans>

/////////////////////////////////////////////////////////////////////////////// import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.FileSystemResource; public class BeanNaming {

   public static void main(String[] args) {
       BeanFactory factory = new XmlBeanFactory(new FileSystemResource(
               "build/beans.xml"));
       
       String s1 = (String)factory.getBean("string1");
       String s2 = (String)factory.getBean("string2");
       String s3 = (String)factory.getBean("java.lang.String");
   }

}

      </source>