Spring中给Bean注入集合
2013-08-06 18:24
453 查看
Spring中如果一个Bean里含有集合元素,需要给Bean里的集合元素注入元素时,可以采用如下方法,一个是构造器注入,一个是setter注入
JavaBean源代码:
这个JavaBean里面有三个集合List、Set、Map,以下是Spring的配置文件
这个配置文件采用的是构造函数的方式进行注入的,能够让程序工作起来,下面是另一配置文件采用的是setter方法注入,同样也可以让程序跑起来。
如果想给一个属性装配一个空值,采用如下方式即可
<null/>
JavaBean源代码:
import java.util.List; import java.util.Map; import java.util.Set; //一个普通的JavaBean public class Person { //人的名字 private String name; //一个人可以唱N首歌,歌名不能重复 private Set<String> set; //一个人几岁对应学生生涯的哪一个时期 private Map<Integer,String> map; //一个人早中晚吃的饭(值可以重复) private List<String> meal; //getter方法 public String getName() { return name; } //setter方法 public void setName(String name) { this.name = name; } //getter方法 public Set<String> getSet() { return set; } //setter方法 public void setSet(Set<String> set) { this.set = set; } //getter方法 public Map<Integer, String> getMap() { return map; } //setter方法 public void setMap(Map<Integer, String> map) { this.map = map; } //getter方法 public List<String> getMeal() { return meal; } //setter方法 public void setMeal(List<String> meal) { this.meal = meal; } //一个构造函数 public Person(String S_name, Set<String> set, Map<Integer, String> map, List<String> meal) { super(); this.name = S_name; this.set = set; this.map = map; this.meal = meal; } //默认的构造函数 public Person() { super(); } }
这个JavaBean里面有三个集合List、Set、Map,以下是Spring的配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="person" class="com.pp.Person"> <!-- 给构造函数的第一个参数传值 --> <constructor-arg value="pptest"></constructor-arg> <!-- 给构造函数的第二个参数传值 --> <constructor-arg> <set> <value>我是中国人</value> <value>哈哈</value> <!-- 由于集合的特性,这个是加不进去的 --> <value>哈哈</value> </set> </constructor-arg> <!-- 给构造函数的第三个参数传值 --> <constructor-arg> <map> <entry key="5" value="小学"></entry> <entry key="11" value="初中"></entry> <entry key="14" value="高中"></entry> <entry key="17" value="大学"></entry> </map> </constructor-arg> <!-- 给构造函数的第四个传数传参 --> <constructor-arg> <list> <value>粥</value> <value>粥</value> <value>粥</value> </list> </constructor-arg> </bean> </beans>
这个配置文件采用的是构造函数的方式进行注入的,能够让程序工作起来,下面是另一配置文件采用的是setter方法注入,同样也可以让程序跑起来。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="person" class="com.pp.Person"> <!-- 通过setter方法向Name元素设置值 --> <property name="Name" value="ppTest"></property> <!-- 通过setter方法向Set集合填加元素 --> <property name="Set"> <set> <value>我是中国人</value> <value>哈哈</value> <!-- 这个是加不去的,由Set的特性来决定的 --> <value>哈哈</value> </set> </property> <!-- 通过setter方法向Map集合填加元素 --> <property name="Map"> <map> <entry key="5" value="小学"></entry> <entry key="11" value="初中"></entry> <entry key="17" value="大学"></entry> </map> </property> <!-- 通过setter方法向list集合填加元素 --> <property name="Meal"> <list> <value>粥</value> <value>粥</value> <value>粥</value> </list> </property> </bean> </beans>
如果想给一个属性装配一个空值,采用如下方式即可
<null/>
相关文章推荐
- Spring在Bean中注入集合
- Spring入门之bean属性注入集合
- 【Spring】【对<bean>注入各种信息】【简单属性,对象属性,集合属性,构造器】
- 7.5.8: Spring容器中的Bean---注入集合值
- [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间
- Spring动态注入泛型集合Bean
- [Java] Spring 3.0 /id.vs.name/简单属性的注入/bean中的scope属性/集合注入/自动装配/生命周期/
- [Java] Spring 3.0 /id.vs.name/简单属性的注入/bean中的scope属性/集合注入/自动装配/生命周期/
- 【spring set注入 注入集合】 使用set注入的方式注入List集合和Map集合/将一个bean注入另一个Bean
- Spring中Bean属性为集合的注入方式
- spring 第2天,bean作用域,自动注入集合
- Spring学习-10:Bean的集合属性的注入
- Spring集合类型的bean及其注入方法
- Spring集合类型的bean及其注入方法
- Spring项目获取注入bean集合
- spring(基础六) spring中Bean属性为集合的注入方式
- Spring 中的内部bean 和集合
- spring依赖注入单元测试:expected single matching bean but found 2
- Spring集合注入 (转)
- Spring 装配Bean的构造注入