【Spring 系列】二、spring三种实例化bean的方式
-  beans.xml中配置 <!-- 三种实例化bean的方式 --> <!-- 1.使用类构造器实例化 --> <bean id="personService" class="com.liuyong666.service.impl.PersonServiceBean"></bean> <!-- 2.使用静态工厂方法实例化 --> <bean id="personService2" class="com.liuyong666.service.impl.PersonServiceBeanFactory" factory-method="createPersonServiceBean"></bean> <!-- 3.使用实例工厂方法实例化 --> <bean id="personServiceFactory" class="com.liuyong666.service.impl.PersonServiceBeanFactory"></bean> <bean id="personService3" factory-bean="personServiceFactory" factory-method="createPersonServiceBean2"></bean>
-  PersonServiceBeanFactory类 package com.liuyong666.service.impl; public class PersonServiceBeanFactory { public static PersonServiceBean createPersonServiceBean(){ return new PersonServiceBean(); } public PersonServiceBean createPersonServiceBean2(){ return new PersonServiceBean(); } }
-  测试类 
  public class TestSpring {
   
  		/**  * 使用spring框架获取bean  */
  		@Test
  		public void getBeanBySpring(){
   
  			ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{
   "beans.xml"});
  			PersonService bean = (PersonService) context.getBean("personService");
  			bean.save();
  		}
  		/**  * 使用静态工厂方法获取bean  */
  		@Test
  		public void getBeanByStaticFactory(){
   
  			ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{
   "beans.xml"});
  			PersonService bean = (PersonService) context.getBean("personService2");
  			bean.save();
  		}
  		
  	/** * 使用实例工厂方法获取bean */
  	@Test
  	public void getBeanByInstantceFactory(){
   
  		ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{
   "beans.xml"});
  		PersonService bean = (PersonService) context.getBean("personService3");
  		bean.save();
  	}
  
  }

