Spring中Bean实例化的三种方式

Spring提供了三种方式实例化Bean.

* 构造方法实例化:(默认无参数)

* 静态工厂实例化:

* 实例工厂实例化:

1.构造方法实现Bean的实例化

//无参构造方法
package annotation;

public class Monkey {
	private String monkeyName;

	public String getMonkeyName() {
		return monkeyName;
	}

	public void setMonkeyName(String monkeyName) {
		this.monkeyName = monkeyName;
	}

	@Override
	public String toString() {
		return "猴子的名称:" + monkeyName;
	}

}

//有参构造方法

package annotation;

public class Person {
	private int age;
	private String name;
	
	public Person(int age,String name){
		this.name=name;
		this.age=age;
	}
	@Override
	public String toString() {
		return age+name;
	}
}

配置文件:

<bean id="Monkey" class="annotation.Monkey">
	<property name="monkeyName" value="阿波尔"></property>
</bean>
		
<bean id="person" class="annotation.Person">
	<constructor-arg name="age" value="12"></constructor-arg>
	<constructor-arg name="name" value="james"></constructor-arg>
</bean>

2.静态工厂实例化

package annotation;
public class MyBean {

}

package annotation;

public class MyBeanFactory {
	public static MyBean getBean(){
		System.out.println("静态工厂实例化");
		return new MyBean();	
	}
}

配置文件:

<bean id="myBean" class="annotation.MyBeanFactory" factory-method="getBean">
</bean>

3.实例工厂实例化

package annotation;
/*
 * 使用实例工厂
 */
public class Bean3 {

}

package annotation;

public class Bean3Factory {
	
	public Bean3 getBean3(){
		System.out.println("实例工厂实例化");
		return new Bean3();
	}

}

配置文件:

<bean id="bean3Factory" class="annotation.Bean3Factory"></bean>
<bean id="bean3" factory-bean="bean3Factory" factory-method="getBean3"></bean>

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值