-
最基本的:
<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"