[b]Spring Bean注入方式[/b]
[b]一、构造器注入[/b]
1.构造器注入顾名思义就是在程序组件中实现构造器,构造器可以是一个也可以是多个。
constructor-arg:表示构造器方式注入
index:构造器参数位置
type:数据类型
ref:是对bean(另一个对象的引用)
value:就是这个参数的值(基本数据类型)
list:List的值
[b]二、设值注入[/b](setter方式注入)
1.设值注入就是通过setXxxx方法将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]
[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]