1. 程式人生 > >Spring三種例項化Bean的方式

Spring三種例項化Bean的方式

  1. 最基本的:

    <bean id="someBean" class="some.someBeanSimpleFactory"/>
    
    
    public class SomeBean{ 
        public void excute(){ 
             System.out.println("hi."); 
        } 
    }
    
  2. 簡單工廠方法:
    <bean id="someBean" class="some.someBeanSimpleFactory" factory-method="create"/>
     
    public class SomeBeanSimpleFactory{ 
        public static SomeBean create(){ 
             new SomeBean(); 
        } 
    }
    
     注意static。
  3. 抽象工廠方法:
    <bean id="someBeanFactory" class="some.someBeanFactory"/>
    <bean id="someBean" class="someBeanFactory" factory-method="create"/>
    
     
    public class SomeBeanFactory{ 
        public SomeBean create(){ 
             new SomeBean(); 
        } 
    }
    
     注意不是static方法。

這3種例項化Bean的方式都是

ApplicationContext context=....;
SomeBean bean=(SomeBean)context.getBean("someBean");

p.s. id和name的不同

  在xml檔案中id是固有的屬性,並且屬性值是唯一的。name屬性值在Spring的配置檔案中也是唯一的,id和name的作用都是標識一個bean的。不同之處於,name屬性值可以帶有特殊字元,例如:name="ss/s"