通过静态工厂来配置bean

静态工厂是创建对象的有效方式,可以如下在Spring中配置静态工厂。如下:

有三个类,Product基类,两个子类Battery和Disc类。

创建一个工厂类如下:

public class ProductCreator {

public static Product createProduct(String productId){
   if("aaa".equals(productId))
    return new Battery("AAA",2.5);
   else if("cdrw".equals(productId))
    return new Disc("CD-RW",1.5);
   else throw new IllegalArgumentException();
}
}
然后在配置文件中如下配置:

<bean id="aaa" class="com.wfb.beans.ProductCreator" factory-method="createProduct">
   <constructor-arg value="aaa"></constructor-arg>
</bean>
<bean id="cdrw" class="com.wfb.beans.ProductCreator" factory-method="createProduct">
   <constructor-arg value="cdrw"></constructor-arg>
</bean>

其中class指定要创建对象的使用的类fatory-method指定工厂方法,construtor-arg属性指定参数。

原文地址:https://www.cnblogs.com/macula7/p/1960445.html