SpringIOC创建对象的三种方式

SpringIOC创建对象的三种方式

第一种:

无参构造方法:参考上一篇文章

第二种

有参构造方法
1>.根据参数下标去创建
User.java
	public class User {
	
	private String name;
	private String age;
	
	public void setName(String name) {
		this.name = name;
	}

	public void setAge(String age) {
		this.age = age;
	}

	public User(String name, String age) {
		super();
		this.name = name;
		this.age = age;
	}
	public void show(){
		System.out.println("name:" + name + "age:" + age);
	}
	
}

beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://www.springframework.org/schema/beans"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
						http://www.springframework.org/schema/beans/spring-beans.xsd ">
	<bean id = "user" class = "com.cn.bean.User">
		<constructor-arg index = "0" value = "全蛋男神"/>
		<constructor-arg index = "1" value = "24"/>
	</bean>
</beans>

2>.根据参数名去创建
其他同1方法
beans.xml

	<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://www.springframework.org/schema/beans"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
						http://www.springframework.org/schema/beans/spring-beans.xsd ">
	<bean id = "user" class = "com.cn.bean.User">
		<constructor-arg name = "name" value = "全蛋男神"/>
		<constructor-arg name = "age" value = "24"/>
	</bean>
</beans>

3>.根据参数类型去创建
其他同上

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://www.springframework.org/schema/beans"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
						http://www.springframework.org/schema/beans/spring-beans.xsd ">
	<bean id = "user" class = "com.cn.bean.User">
		<constructor-arg type = "java.lang.String" value = "全蛋男神"/>
		<constructor-arg type = "java.lang.String" value = "24"/>
	</bean>
</beans>

结果都是下图所示
在这里插入图片描述
**

第三种

**
1>通过静态工厂创建
BeansFactory.java

public class BeansFactory {
	public static User newInstance(String name, String age) {
		return new User(name, age); 	
	}
}

beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://www.springframework.org/schema/beans"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
						http://www.springframework.org/schema/beans/spring-beans.xsd ">
	<bean id = "user" class = "com.cn.bean.BeansFactory"
	factory-method = "newInstance">
		<constructor-arg index="0" value="全蛋男神"/>
		<constructor-arg index="1" value="24"/>
	</bean>
</beans>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值