Spring三種例項化Bean的方式
阿新 • • 發佈:2019-02-08
-
最基本的:
<bean id="someBean" class="some.someBeanSimpleFactory"/>
public class SomeBean{ public void excute(){ System.out.println("hi."); } }
- 簡單工廠方法:
<bean id="someBean" class="some.someBeanSimpleFactory" factory-method="create"/>
注意static。public class SomeBeanSimpleFactory{ public static SomeBean create(){ new SomeBean(); } }
- 抽象工廠方法:
<bean id="someBeanFactory" class="some.someBeanFactory"/> <bean id="someBean" class="someBeanFactory" factory-method="create"/>
注意不是static方法。public class SomeBeanFactory{ public SomeBean create(){ new SomeBean(); } }
這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"