Spring Bean注入方式

[b]Spring Bean注入方式[/b]


[b]一、构造器注入[/b]
1.构造器注入顾名思义就是在程序组件中实现构造器,构造器可以是一个也可以是多个。
public class PersonServiceBean implements PersonServiceIF{
//自定义类
private PersonDaoIF personDaoBean;
//String类型
private String name;
//集合类型
private List list;
//构造器(构造器注入一定要有这个构造器)
public PersonServiceBean(PersonDaoBean personDaoBean,String name,List list){
this.personDaoBean = personDaoBean;
this.name = name;
this.list = list;
}
}


<bean id="personDao" class="cn.glzaction.service.impl.PersonDaoBean"></bean >
<!--构造器方式注入-->
<bean id="personService" class="cn.glzaction.service.impl.PersonServiceBean">
<constructor-arg index="0" type="cn.glzaction.service.impl.PersonDaoBean" ref="personDao"/>
<constructor-arg index="1" type="java.lang.String" value="glzaction"/>
<constructor-arg index="2" type="java.util.List"> //List的注入写法
<list>
<value>list1</value>
<value>list2</value>
<value>list3</value>
</list>
</constructor-arg>
</bean>


constructor-arg:表示构造器方式注入
index:构造器参数位置
type:数据类型
ref:是对bean(另一个对象的引用)
value:就是这个参数的值(基本数据类型)
list:List的值


[b]二、设值注入[/b](setter方式注入)
1.设值注入就是通过setXxxx方法将bean注入到组件中.
package cn.glzaction.service.impl;
import cn.glzaction.service.interfaces.PersonDaoIF;
import java.util.*;

public class PersonDaoBean implements PersonDaoIF {
private String name;
private Integer id;
private List list;
private Map map;

public void setName(String name) { //一定要相关参数的set方法
this.name = name;
}
public void setId(Integer id) {
this.id = id;
}
public void setList(List list) {
this.list = list;
}
public void setMap(Map map) {
this.map = map;
}
}


<bean id="personDao" class="cn.glzaction.service.impl.PersonDaoBean">
<property name="name" type="java.lang.String" value="glzaction"/>
<property name="id" type="java.lang.Integer" value="1"/>
<property name="list" type="java.util.List">
<list> //List的注入写法
<value>list1</value>
<value>list2</value>
<value>list3</value>
</list>
</property>
<property name="map" type="java.util.Map">
<map> //Map的注入写法
<entry key="key1" value="value1"></entry>
<entry key="key2" value="value2"></entry>
</map>
</property>
</bean>


property:表示setter方式注入
name:参数名字
type:数据类型
ref:是对bean(另一个对象的引用)
value:就是这个参数的值(基本数据类型)
list:List的值
map:Map的值


[b]三、静态工厂的方法注入(比较少用到)[/b]

[b]四、实例工厂的方法注入(比较少用到)[/b]


参考原文:[url]http://www.cnblogs.com/java-class/p/4727775.html[/url]
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值