根据Spring中bean的配置的不同,BeanFactory产生Bean的方法分为下面三种:
1)直接构造
这是最常用的方法,在该情况下,我们需要一个default constructor和相应的setters/getters
方法.举例如下:
<bean id="exampleBean" class="examples.ExampleBean"/>
<bean name="anotherExample" class="examples.ExampleBeanTwo"/>
要注意的是,我们可以为getter/setter方法传递参数(用preperties标签),也可以为构造函数
传递参数(用constructor标签).
2)采用静态工厂方法
如:<bean id="exampleBean"
class="examples.ExampleBean2" factory-method="createInstance"/>
这里要求examples.ExampleBean2类有个静态方法createInstance
3)非静态工厂方法
<bean id="myFactoryBean" class="..."> </bean>
<bean id="exampleBean"
factory-bean="myFactoryBean" factory-method="createInstance"/>
在这里,必须没有"class"标签,factory-bean是BeanFactory,factory-method是它的非静态方法
,要注意,myFactoryBean可以通过容器来管理和配置.
根据Spring中bean的配置的不同,BeanFactory产生Bean的方法分为下面三种:
1)直接构造
这是最常用的方法,在该情况下,我们需要一个default constructor和相应的setters/getters
方法.举例如下:
<bean id="exampleBean" class="examples.ExampleBean"/>
<bean name="anotherExample" class="examples.ExampleBeanTwo"/>
要注意的是,我们可以为getter/setter方法传递参数(用preperties标签),也可以为构造函数
传递参数(用constructor标签).
2)采用静态工厂方法
如:<bean id="exampleBean"
class="examples.ExampleBean2" factory-method="createInstance"/>
这里要求examples.ExampleBean2类有个静态方法createInstance
3)非静态工厂方法
<bean id="myFactoryBean" class="..."> </bean>
<bean id="exampleBean"
factory-bean="myFactoryBean" factory-method="createInstance"/>
在这里,必须没有"class"标签,factory-bean是BeanFactory,factory-method是它的非静态方法
,要注意,myFactoryBean可以通过容器来管理和配置.