1.2 创建对象3种方式
- 通过构造方法创建
- 无参数构造创建: 默认情况
- 有参构造方法创建:需要明确配置
对于有参数的:
1.需要在类中提供有参构造方法
2.在 applicationContext.xml 中设置调用哪个构造方法创建对象
3.如果设定的条件匹配多个构造方法执行最后的构造方法
index : 参数的索引,从 0 开始
name: 参数名
type:类型(区分开关键字和封装类 int 和 Integer)
例:有个People类,类中有id,name属性
1 | <bean id="peo" class="com.pojo.People"> |
1 | // 调用People类步骤 |
实例工厂
工厂设计模式:帮助创建类对象.一个工厂可以生产多个对象.
实例工厂:需要先创建工厂,才能生产对象
实现步骤:
必须要有一个实例工厂
1
2
3
4
5public class PeopleFactory {
public People newInstance(){ //用来创建People对象
return new People(1,"测试");
}
}在 applicationContext.xml 中配置工厂对象和需要创建的对象
1 | <bean id="factory" class="com.pojo.PeopleFactory"></bean> |
- 执行
1
2
3ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
People pe = ac.getBean("peo1", People.class);
System.out.println(pe);
静态工厂
不需要创建工厂,快速创建对象.
实现步骤
- 编写一个静态工厂(必须在方法上添加 static,因为静态方法
类名点
的形式调用,不需要new个对象)1
2
3
4
5public class PeopleFactory {
public static People newInstance(){ //静态方法
return new People(1,"测试");
}
} - 在 applicationContext.xml 中
1
<bean id="peo2" class="com.pojo.PeopleFactory" factory-method="newInstance"></bean>