bean中集合属性的配置
在实际的开发中,有的bean中会有集合属性,如下:
package com.sevenhu.domain; import java.util.List; /**
* Created by hu on 2016/3/31.
*/
public class RichMen {
private List<Car> cars; public void setCars(List<Car> cars) {
this.cars = cars;
}
}
那么集合属性的配置如下:
<bean id="richMan1" class="com.sevenhu.domain.RichMen">
<property name="cars">
<!--使用list集合来装配集合属性-->
<list>
<ref bean="car1"/>
<ref bean="car2"/>
</list>
</property>
</bean>
或还可以如下配置,将集合属性在外部配置,可以实现共享,如下:
<!--声明集合类型的bean-->
<util:list id="cars">
<ref bean="car1"/>
<ref bean="car2"/>
</util:list>
<bean id="richMan2" class="com.sevenhu.domain.RichMen">
<property name="cars" ref="cars"></property>
</bean>
那么Map类型的集合属性的配置过程如下,首先,建立一个含有Map类型集合属性的bean类:
package com.sevenhu.domain; import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import java.util.Iterator;
import java.util.Map;
import java.util.Set; /**
* Created by hu on 2016/3/31.
*/
public class MapPropertyTest {
private Map nameAndAge; public void setNameAndAge(Map nameAndAge) {
this.nameAndAge = nameAndAge;
}
@Override
public String toString(){
String str="";
String tempStr="";
Set<Map.Entry> entrySet=nameAndAge.entrySet();
Iterator<Map.Entry> iterator=entrySet.iterator();
while (iterator.hasNext()){
Map.Entry entry=iterator.next();
tempStr= entry.getKey()+":"+entry.getValue();
str=str+tempStr+"\n";
}
return str;
}
public static void main(String[] args){
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("beans.xml");
MapPropertyTest mapPropertyTest= (MapPropertyTest) applicationContext.getBean("mapPropertyTest");
System.out.println(mapPropertyTest);
}
}
然后配置代码如下:
<!--Map类型的集合属性-->
<bean id="mapPropertyTest" class="com.sevenhu.domain.MapPropertyTest">
<property name="nameAndAge">
<map>
<entry>
<key>
<value>hujingwei</value>
</key>
<value>23</value>
</entry>
</map>
</property>
</bean>
bean中集合属性的配置的更多相关文章
- 【转载】Spring bean 中 constructor-arg属性
转载地址:https://blog.csdn.net/qq_27292113/article/details/78063696 方便以后查阅
- 【Spring源码解读】bean标签中的属性(二)你可能还不够了解的 abstract 属性和 parent 属性
abstract 属性说明 abstract 在java的语义里是代表抽象的意思,用来说明被修饰的类是抽象类.在Spring中bean标签里的 abstract 的含义其实也差不多,表示当前bean是 ...
- Spring学习--集合属性
Spring 中可以通过一组内置的 xml 标签(例如: <list> , <set> 或 <map>) 来配置集合属性. 配置java.util.Set 需要使用 ...
- Spring中配置文件applicationContext.xml配置详解
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- 记录使用Hibernate查询bean中字段和数据库列类型不匹配问题
今天在工程中遇到Hibernate查询的时候,bean中的字段和数据库中的字段不符合(bean中有pageTime字段,但是数据库中没有此列)报错问题. 具体问题环境: 在auto_off表中,off ...
- [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- @Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationException 异常。
@Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationEx ...
- Spring配置Bean,为属性赋值
SayHello的实体类: package com.langchao; /** * @ClassName: SayHello * @description: * @author: ZhangYawei ...
- SpringXML方式配置bean的集合注入:list,map,properties
新建一个bean,设置相应的集合属性 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public class Collecti ...
随机推荐
- hibernate 数据库列别名自动映射pojo属性名
package com.pccw.business.fcm.common.hibernate; import java.lang.reflect.Field; import java.math.Big ...
- MVC中JQuery文件引入的路径问题,@Url.Content函数
今天写了个MVC的Demo,文件夹结构很简单,如下: 利用EF生成Model框架并手工加表字段注解,但在页面上JS验证始终没显示.实在无语. 无意中在浏览器里按F12,看见提示: Failed t ...
- BLE-NRF51822教程19-Battery Service
Battery Service是有关电池特性方面的服务,如果需要它,在初始化时将它加入到蓝牙协议栈. 如果通过ble_bas_battery_level_update(),电池电量将会通知,Batte ...
- java编程技巧
欢迎提出建议指出错误互相交流. 1.统计对象数量,比如统计一共发射了多少颗子弹. public class Bullet { public static int count = 0; public B ...
- JS之mouseover和mouseenter
mouseenter事件只会触发一次,触发对象是注册对象或者注册对象的子元素 mouseover事件可以触发多次,触发对象是注册对象或者注册对象的子元素 <!DOCTYPE html> & ...
- qt 屏幕旋转
qt屏幕旋转的方法 参考链接 http://mikenoodle.blog.163.com/blog/static/11333522010102754154616/ http://blog.csdn. ...
- ubuntu12.04 安装 setuptools
ubuntu 12.04 安装django时,提示缺少setuptools. 转载自: http://blog.csdn.net/xudongtiankong/article/details/8180 ...
- 我的工具箱之Securecrt6.5.0
Securecrt是一款支持SSH的终端仿真软件,一般用于连接Linux/Unix系统.感觉这个比Putty强些. 下载地址是:http://pan.baidu.com/s/1gednNhh
- [代码片段]读取BMP文件
文件名mybmp.c //实现了读取24位BMP文件,还有一些测试信息 //定义mybmp.c里面用到的函数和相关头文件.常量 //参考了网友sailinghz在CSDN论坛的帖子:http://bb ...
- mysql开发中使用存储过程
在mysql开发中使用存储过程的理由: 当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的 mysql 执行语句是要先编译,然后再执行的.这样如果查询并发大的时候. ...