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 ...
随机推荐
- linux下线程调用sleep,进程挂起
http://blog.csdn.net/horstlinux/article/details/7911457 http://blog.csdn.net/eroswang/article/detail ...
- X Window 程式设计
X Window 程式设计 转 http://www.cppblog.com/zmj/archive/2007/05/18/24331.html X Window 程式设计 X Window 程式 ...
- NRF51822之动态广播使用
本教程基于nRF51_SDK_10.0.0_dc26b5e\examples\ble_peripheral\ble_app_uart工程 本教程主要是演示 现在演示通过nus来修改ADV中maufac ...
- freebsd上安装nginx+php记录
参考文章 https://wiki.freebsdchina.org/faq/ports http://www.vpsee.com/2014/04/install-nginx-php-apc-mysq ...
- 利用HTML5的canvas制作万花筒动画特效
<!DOCTYPE HTML> <html> <head> <style> #canvas{ background-color:#cccccc; } & ...
- MYSQL 中常用日期时间函数使用
MySQL Date 函数 下面的表格列出了 MySQL 中最重要的内建日期函数: 函数 描述 NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 ...
- 删除Checkout with Multiple Addresses
如果选择No,您的客户在结账时只可以输入一个收货地址,订单的货物都会送到这个地址.如果您选择Yes,您的客户将可以选择发货到多个地址,在购物车中的Proceed to Checkout按钮下面将会出现 ...
- ASP.NET中身份验证
ASP.NET中身份验证有三种方式:Windows.Forms和Passport. 1.Windows验证,基于窗体验证,需要每个页面写上验证身份代码,相对灵活,但操作过于复杂: 2.Passport ...
- [代码片段]读取BMP文件
文件名mybmp.c //实现了读取24位BMP文件,还有一些测试信息 //定义mybmp.c里面用到的函数和相关头文件.常量 //参考了网友sailinghz在CSDN论坛的帖子:http://bb ...
- https://my.oschina.net/huangyong/blog/161419
https://my.oschina.net/huangyong/blog/161419