静态工厂是创建对象的有效方式,可以如下在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属性指定参数。