Spring Bean流入方式
Spring Bean注入方式
Spring Bean注入方式
一、构造器注入
1.构造器注入顾名思义就是在程序组件中实现构造器,构造器可以是一个也可以是多个。
constructor-arg:表示构造器方式注入
index:构造器参数位置
type:数据类型
ref:是对bean(另一个对象的引用)
value:就是这个参数的值(基本数据类型)
list:List的值
二、设值注入(setter方式注入)
1.设值注入就是通过setXxxx方法将bean注入到组件中.
property:表示setter方式注入
name:参数名字
type:数据类型
ref:是对bean(另一个对象的引用)
value:就是这个参数的值(基本数据类型)
list:List的值
map:Map的值
三、静态工厂的方法注入(比较少用到)
四、实例工厂的方法注入(比较少用到)
参考原文:http://www.cnblogs.com/java-class/p/4727775.html
Spring Bean注入方式
一、构造器注入
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的值
二、设值注入(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的值
三、静态工厂的方法注入(比较少用到)
四、实例工厂的方法注入(比较少用到)
参考原文:http://www.cnblogs.com/java-class/p/4727775.html