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>标 ...
随机推荐
- PHP之数组和函数的基本教程
[PHP数组的分类] 按照下标的不同,PHP数组分为关联数组与索引数组 索引数组:下标从0开始,依次增长: 关联数组:下标为字符串格式,每个下标字符串与数字的值一一关联对应(有点像对象的键值对) [关 ...
- 特殊引用类型(string)
private string FuncWithParameters(int param1, String param2, List<string> param3) { // 我们在这里改变 ...
- 使用sqlcmd进行MS-dos方式查询
在windows选择‘运行’vista需要以管理员身份运行,打开命令提示符窗口 要连接到sql server服务器,必须指定服务器名称,安装命名实例中的,还必须指定实例名.默认情况下,sqlcmd使用 ...
- mysql5.7忘记密码修改方法
mysql5.7忘记密码修改方法 mysql是开发中最常用的关系数据库之一.一般在安装数据库到时候会自定义root密码,有时候会忘记该密码,这时候需要对数据库进行密码修改. 一.windows下更改m ...
- 初步理解require.js模块化编程
初步理解require.js模块化编程 一.Javascript模块化编程 目前,通行的Javascript模块规范共有两种:CommonJS和AMD. 1.commonjs 2009年,美国程序员R ...
- js原生获取css属性
原文参考http://blog.csdn.net/lzding/article/details/46317777 1.写在dom上的属性,内联样式 <div id="box" ...
- RN记录
react-native run-android 出现 java.lang.nullpointerexception(no error message) 错误 删除 工程目录\android.grad ...
- redux小结
1.创建reducers :保存初始化状态. 2.入口文件通过redux 中的 { createStore } 将 reducers保存为快照, 通过react-redux中的{ Provider } ...
- 关于输入框在谷歌浏览器 ie 浏览器中 黄色背景的去除
谷歌有自己对input 的填充色 加上下面的css 就可以了 input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px white ins ...
- 在oracle表中插入空字段和null测试
create table testTable ( id number, name ) ) select * from testTable ,'user1') ,'') ,null) select co ...