有的时候需要根据同一种类创建很多个对象;
比如有很多飞机。除了机长不一样,其他都一样
这种情况下如果用ioc配置文件,一个一个配置bean就非常麻烦
所以可以使用工厂模式来创建bean对象
步骤:
01先创建一个飞机类
public class airplane {
private String jzName;
private int planeId;
private String planeLength;
private String planewidth;
02.创建一个工厂类,这个类里有一个静态方法,用来创建对象
public class airplaneFactory {
public static airplane getAirplane( String jzName) {
airplane ap=new airplane();
ap.setJzName(jzName);
ap.setPlaneId(123);
ap.setPlaneLength("123m");
ap.setPlanewidth("98m");
return ap;
}
}
03:配置文件里面加入factory-method属性;注意此时这个bean里面的class是工厂类,而不是bean类
<bean id="plane01" class="bean.airplaneFactory"
factory-method="getAirplane">
<constructor-arg value="zhangsan"></constructor-arg>
</bean>
04.利用ioc对象获取bean对象
@Test
public void test03() {
Object bean=ioc.getBean("plane01");
System.out.println(bean);
}