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>标 ...
随机推荐
- Magento 2中文手册教程 - Magento 2 安装流程图
下图提供了安装Magento 2的安装流程概述: 设置你的服务器环境. 安装magento 2 必备软件, PHP, Apache, MySQL. 系统需求详细信息: 2.1.x 系统需求 获得mag ...
- CentOS7部署.Net Core2.0站点(上)
其实类似的教程网上已经有很多了,之所以要写,是应为发现在使用最新的centos7和.netcore2.1版本时还是遇到了不少坑,所以记录下,以后希望大家能少走弯路. 一.安装CentOS7 我是用虚拟 ...
- 文档转换为pdf格式帮助类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Word = M ...
- Lucene学习之四:Lucene的索引文件格式(2)
本文转载自:http://www.cnblogs.com/forfuture1978/archive/2009/12/14/1623599.html 略有删减和补充 四.具体格式 上面曾经交代过,L ...
- 八、profile多环境配置
通常我们的程序有着多个环境: 1.开发环境: 2.生产环境. 等 环境的配置各不相同,我们希望通过一个简单的配置来切换环境,而springboot轻松地实现了该功能: 一.多环境需要多配置文件 一般我 ...
- bash的常用功能呢
一.tab键可以自动补齐命令 二.命令历史 1.history 查看之前敲过的所有命令 2.!历史命令编号 调用历史的某一个命令 三.命令别名 1.设置别名 alias 别名=‘命令’ 2.移除 ...
- FFmpeg的tutorial 学习
一.前言: 这是一个学习 FFmpeg 的 tutorial 系列. 这个是一个对初学者比较友好的FFmpeg学习教程,作者一步步引导我们实现了一个音视频同步的播放器. 参考链接: 原文地址: htt ...
- python生成html表格
最近做一个小工具,需要将统计数据生成html表格.在网上搜罗一圈后发现用pandas生成表格非常好用.代码如下: import pandas as pd def convertToHtml(resul ...
- WebLogic如何设置session超时时间
1.web.xml 设置WEB应用程序描述符web.xml里的<session-timeout>元素.这个值以分钟为单位,并覆盖weblogic.xml中的TimeoutSecs属性 ...
- Linux->Mysql安装调试
环境准备 mysql下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar ...