您的位置:首页 > 编程语言 > Java开发

Spring静态工厂和实例工厂创建bean

2013-03-27 10:03 826 查看
1.静态工厂创建bean。 工厂类有一个公共的静态方法用于创建bean,隐藏了创建bean的细节,以及将创建的bean托管给容器。

配置:

<!-- 静态工厂 -->
<bean id="aProduct" class="com.StaticFactory"  factory-method="createProduct">
<constructor-arg value="bccbb"></constructor-arg>
</bean>


id: 工厂创建的bean的id

class:静态工厂的类

factory-method:静态工厂的静态创建bean方法

constructor-arg:用于给工厂方法传递参数。有时创建bean需要某些参数,可通过该属性传入工厂方法。

如:

public class StaticFactory{

public static Product createProduct(String id){//静态工厂方法。 它的参数由constructor-arg传入

return product;

}

..

}


2.实例工厂创建Bean。即容器中有一个工厂Bean,然后通过工厂bean和工厂方法(非静态)创建bean。

<!-- 工厂bean -->
<bean id="productFactory" class="com.Factory">
</bean>

<bean id="productA" factory-bean="productFactory" factory-method="createProduct">
  <constructor-arg value="456"/><!--给工厂方法传递参数-->
</bean>

即:先创建工厂bean。
然后通过factory-bean factory-method指定工厂bean和工厂方法,来创建bean。


public class Factory{

//不是静态方法
public Product createProduct(String id){//工厂方法。 它的参数由constructor-arg传入

return product;

}

..

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: