2.spring:集合属性
1.list
配置java.util.List类型的属性,需要指定<list>标签,在标签里面包含有一些元素,这些标签
可以通过<value>指定简单的常量值,通过<ref>指定对Bean的引用,通过<bean>指定内置的Bean定义,
通过<null />指定空元素,是指可以嵌套在其他的集合
Person.java
public class Person {
private String name;
private int age;
private List<car> cars;
//setter...
}
applicationContext.xml
<!-- list -->
<bean id="person3" class="com.MrChengs2.Collection.Person">
<property name="name" value="Mike"></property>
<property name="age" value=""></property>
<property name="cars">
<list>
<!-- 1中的Person类 -->
<bean class="com.MrChengs1.HelloSpring.car" p:brand="XinXin" p:corp="AnHui"
p:maxSpeech="" p:price=""></bean>
<ref bean="car"/>
<ref bean="car1"/>
</list>
</property>
</bean>
测试:
Person p = (Person) ctx.getBean("person3");
System.out.println(p);
Person [name=Mike, age=, cars=[car [brand=XinXin, corp=AnHui, price=12345.0,
maxSpeech=],
car [brand=LeiNuo, corp=shanghai, price=0.0, maxSpeech=],
car [brand=AoDI, corp=<shanghai>, price=0.0, maxSpeech=]]]
2.Map
<Map>:标签里面嵌套<entry>,在<entry>中进行设置
通过<map>标签定义,<map>标签里面可以使用多个<entry>作为子标签,每个条目包含一个键和一个值
必须在<key>标签里面定义
因为键和值的类型没有限制,所以可以自由的为他们指定<value> <ref> <bean> <null>元素
可以将Map的键和值作为<entry>的属性定义,简单的常量可以使用key和value来定义,Bean引用通过key-ref和value-ref属性来定义
使用<props>定义的java.util.Properties,该标签使用多个<prop>作为子标签,每个子标签必须定义key属性
PersonMap.java
public class PersonMap {
private String name;
private int age;
private Map<String,car> cars;
//setter...
}
applicationContext.xml
<bean id="Person4" class="com.MrChengs2.Collection.PersonMap">
<property name="name" value="Rose"></property>
<property name="age" value=""></property>
<property name="cars">
<map >
<entry key="AA" value-ref="car"></entry>
<entry key="BB" value-ref="car1"></entry>
</map>
</property>
</bean>
测试:
PersonMap p1 = (PersonMap) ctx.getBean("Person4");
System.out.println(p1);
PersonMap [name=Rose, age=, cars={AA=car [brand=LeiNuo, corp=shanghai, price=0.0, maxSpeech=],
BB=car [brand=AoDI, corp=<shanghai>, price=0.0, maxSpeech=]}]
3.Properties
DatasourceProperties.java
public class DatasourceProperties {
private Properties properties;
//setter...
}
applicationContext.xml
<bean id="properties" class="com.MrChengs2.Collection.DatasourceProperties">
<property name="properties">
<props>
<prop key="user">root</prop>
<prop key="password"></prop>
<prop key="jdbcUrl">jdbc:mysql://</prop>
<prop key="driverClass">com.mysql.jdbc.Driver</prop>
</props>
</property>
</bean>
测试:
DataSource dataSource = (DataSource) ctx.getBean("properties");
System.out.println(dataSource);
4.配置独立集合的Bean
使用基本的集合标签定义集合时,不能将集合作为独立的Bean定义,导致集合无法引用该集合,所以不能无法在不同的Bean之间共享
可以使用util 里的集合标签独立集合Bean,注意的是,必须在<beans>根元素添util的定义
appliactionContext.xml
<!-- 配置独立的集合Bean
此时需要在NameSpace导入util命名空间
此时引用cars就等于直接引用在这里面的整体内容
-->
<util:list id="cars">
<ref bean="car"/>
<ref bean="car1" />
</util:list>
<bean id="Persons" class="com.MrChengs2.Collection.Person">
<property name="name" value="zhangshan"></property>
<property name="age" value="25"></property>
<property name="cars" ref="cars"></property>
</bean>
测试:
Person p2 = (Person) ctx.getBean("Persons");
System.out.println(p2);
Person [name=zhangshan, age=, cars=[car [brand=LeiNuo, corp=shanghai, price=0.0, maxSpeech=],
car [brand=AoDI, corp=<shanghai>, price=0.0, maxSpeech=]]]
2.spring:集合属性的更多相关文章
- Spring -配置集合属性
1 可使用<list> <map> <set>等来配置集合属性2 List <!-- 配置List属性 --> <bean id="pe ...
- [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Spring学习--集合属性
Spring 中可以通过一组内置的 xml 标签(例如: <list> , <set> 或 <map>) 来配置集合属性. 配置java.util.Set 需要使用 ...
- Spring基础07——配置集合属性
1.集合属性 在Spring中可以通过一组内置的xml标签(例如<list>,<set>或<map>)来配置集合属性. 2.配置List集合 配置java.util ...
- Spring学习(三)几种集合属性的注入方式
1.前言 众所周知.java中不只有八大简单类型.还有一些集合类型.本文围绕集合类型的注入做一个总结. 2.项目骨架 3.过程 1.创建实体类AllCollectionType package com ...
- Spring4学习笔记2-配置集合属性
1 可使用<list> <map> <set>等来配置集合属性 2 List <!-- 配置List属性 --> <bean id="p ...
- spring集合类型的setter注入的一个简单例子
在项目中我们有时候会为集合类型设定一些默认的值,使用spring后,我们可以通过配置文件的配置,用setter方式为对象的集合属性提供一些默认值,下面就是一个简单的例子. 首先我们创建了一个名为Col ...
- spring 配置属性的详细信息
摘要(这篇文章讲的红,蓝说这话节) 字面值 字面值:可用字符串表示的值,能够通过<value>元素标签或value属性进行注入 基本数据类型及其封装类.String等类型都能够採取字面值注 ...
- 【转】关于spring集合对象的补充
<span style="font-size:18px;">关于spring集合对象的补充 spring2.0中对集合对象有了改进,新增了一个<util>标 ...
随机推荐
- Autofac +webapi 配置
Autofac配置 using Autofac; using System; using System.Collections.Generic; using System.Linq; using Sy ...
- jquery.edatagrid(可编辑datagrid)的使用
用spring+springmvc+mybatis+mysql实现简单的可编辑单元格,首先是页面效果图: 其中,“编号”列是不可编辑的,“暂缓措施”是可以自由编辑的,主要html组成: <%@ ...
- aspose.word 读取word段落内容
注:转载请标明文章原始出处及作者信息 aspose.word 插件下载 链接: http://pan.baidu.com/s/1qXIgOXY 密码: wsj2 使用原因:无需安装office,无兼容 ...
- 自己实现async和await
无意当中看了一些博文,说有人想自己尝试实现基于异步操作的方法: 1)直接使用Task(不说咯,这个是微软给我们的标准实现方法). 2)必须继承INotifyCompletion接口,同时自己实现IsC ...
- dategrid快速录入一行数据的一波操作
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- servlet-mapping元素及其子元素
<servlet-mapping>元素在Servlet和URL样式之间定义一个映射.它包含了两个子元素<servlet- name>和<url-pattern>,& ...
- 在HTML代码中使用freemarker
在HTML代码中使用freemarker 1.freemarker中显示某对象的属性使用${user.name}. 但如果name为null,freemarker就会报错.如果需要判断对象是否为空: ...
- 图片大于div时的居中显示
当图片大于div时,想要图片居中显示,如果图片等比例缩小可能会导致图片不能填充整个div,如果直接将图片不设置宽高,将其外层div设置overflow:hidden:这时即使外层div设置了水平垂直居 ...
- eclipse插件开发常见的问题及解决办法
莫名其妙地我的某个Plug-in Projects出现了这样的Error:An API baseline has not been set for the current workspace.虽然后来 ...
- CentOS 7运维管理笔记(9)----Apache 安全控制与认证
Apache 提供了多种安全控制手段,包括设置Web访问控制.用户登陆密码认证及 .htaccess 文件等.通过这些技术手段,可以进一步提升Apache服务器的安全级别,减少服务器受攻击或数据被窃取 ...