Spring——04创建对象的三种方式

Spring 创建对象的三种方式

一.通过构造方法创建

无参构造创建

默认情况是该方式

有参构造创建

需要明确配置

  1. 需要在类中提供有参构造方法
  2. 在 applicationContext.xml 中设置调用哪个构造方法创建对象
    ①如果设定的条件匹配多个构造方法执行最后的构造方法
    ②index: 参数的索引,从 0 开始
    ③name: 参数名
    ④type:类型(区分开关键字和封装类 int 和 Integer)
    注:ref 表示引用另一个 bean(一定是对象),而value 基本数据类型或 String 等
<bean id="peo" class="com.youdian.pojo.People">
<!-- ref 表示引用另一个 bean,而value 基本数据类型或 String 等 --> 
<constructor-arg index="0" name="id" type="int" value="123">
</constructor-arg> 
<constructor-arg index="1" name="name" type="java.lang.String" 
value=" 张 三 "></constructor-arg> 
</bean>

二.实例工厂

  1. 工厂设计模式概念
    帮助创建类对象.一个工厂可以生产多个对象.
  2. 实例工厂
    需要先创建工厂,才能生产对象
    用普通方式进行预先测试:
	PeopleFactory factory = new PeopleFactory();
	People people = factory.newInstance();
  1. 实现步骤
    ①必须要有一个实例工厂 PeopleFactory.java
public class PeopleFactory { 
	public People newInstance(){
		return new People(1,"测试");
		}
}

②在 applicationContext.xml 中配置工厂对象和需要创建的对象

<bean id="factory" class="com.youdian.pojo.PeopleFactory"></bean> 
<bean id="peo1" factory-bean="factory" factory-method="newInstance">
</bean>

三.静态工厂

  1. 优点:不需要创建工厂,快速创建对象
    用普通方式进行预先测试:
People peo = PeopleFactory.newInstance();
  1. 实现步骤
    ①编写一个静态工厂(在方法上添加 static)
public class PeopleFactory { 
	public static People newInstance(){
		return new People(1,"测试");
		}
}

②在 applicationContext.xml 中

<bean id="peo2" class="com.youdian.pojo.PeopleFactory" 
factory-method="newInstance"></bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值