Spring 还可以对基本属性和集合类型属性进行注入:

public interface PersonIService {
public String getBaseProperty();
public Set<String> getSets();
public List<Integer> getList();
public Properties getProperties();
public Map<String, String> getMaps();
}

public class PersonServiceImpl implements PersonIService {
private String baseProperty;
private Set<String> sets;
private List<Integer> list;
private Properties properties;
private Map<String,String> maps; public Map<String, String> getMaps() {
return maps;
} public void setMaps(Map<String, String> maps) {
this.maps = maps;
} public Properties getProperties() {
return properties;
} public void setProperties(Properties properties) {
this.properties = properties;
} public List<Integer> getList() {
return list;
} public void setList(List<Integer> list) {
this.list = list;
} public Set<String> getSets() {
return sets;
} public String getBaseProperty() {
return baseProperty;
} public void setBaseProperty(String baseProperty) {
this.baseProperty = baseProperty;
} public void setSets(Set<String> sets) {
this.sets = sets;
}
}

beans.xml:

<bean id="personIService" class="cn.server.impl.PersonServiceImpl">
<property name="baseProperty" value="value:基本属性1" />
<property name="sets">
<set>
<value>set装配-value1</value>
<value>set装配-value2</value>
<value>set装配-value3</value>
</set>
</property>
<property name="list">
<list>
<value>11</value>
<value>12</value>
<value>13</value>
</list>
</property>
<property name="properties">
<props>
<prop key="property1">value1</prop>
<prop key="property2">value2</prop>
<prop key="property3">value3</prop>
</props>
</property>
<property name="maps">
<map>
<entry key="map1" value="value1" />
<entry key="map2" value="value2" />
<entry key="map3" value="value3" />
</map>
</property>
</bean>

测试代码:

@Test
public void otherTest(){
ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
PersonIService personIService=(PersonIService)ac.getBean("personIService");
System.out.println("========基本属性注入============");
System.out.println(personIService.getBaseProperty());
System.out.println("========Set集合类型注入============");
for(String str : personIService.getSets()){
System.out.println(str);
}
System.out.println("========list集合类型注入============");
for(Integer i : personIService.getList()){
System.out.println(i);
}
System.out.println("========properties集合类型注入============");
for(Object key : personIService.getProperties().keySet()){
System.out.println(key+"="+personIService.getProperties().getProperty(key.toString()));
}
System.out.println("========map集合类型注入============");
for(Object key : personIService.getMaps().keySet()){
System.out.println(key+"="+personIService.getMaps().get(key));
}
}

Spring、基本类型属性和集合类型属性的注入的更多相关文章

  1. 【Spring实战】—— 7 复杂集合类型的注入

    之前讲解了Spring的基本类型和bean引用的注入,接下来学习一下复杂集合类型的注入,例如:List.Set.Map等. 对于程序员来说,掌握多种语言是基本的技能. 我们这里做了一个小例子,程序员们 ...

  2. Python中的集合类型分类和集合类型操作符解析

    集合类型    数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称作集合元素(set elements).    Python把这个概念引入到它的集合类型对象里.集合对象是一组无 ...

  3. 05Spring_Bean属性的集合类型的注入

  4. Spring.NET学习笔记8——集合类型的注入(基础篇)

    1.基础类 public class Happy    {        public override string ToString()        {            return &q ...

  5. Swift中的集合类型

    一.引子: 在2014年10月TIOBE编程语言排行榜中,Swift位居第18位,从2014WWDC发布会首次公布至今不到半年时间,swift一直受到编程人 员的追捧,其热衷程度并不亚于当红巨星Tay ...

  6. The Swift Programming Language-官方教程精译Swift(5)集合类型 -- Collection Types

    Swift语言提供经典的数组和字典两种集合类型来存储集合数据.数组用来按顺序存储相同类型的数据.字典虽然无序存储相同类型数据值但是需要由独有的标识符引用和寻址(就是键值对).   Swift语言里的数 ...

  7. Swift 学习- 05 -- 集合类型

    // 集合类型 // swift 提供 Arrays , Sets 和 Dictionaries 三种基本的集合类型用来存储数据 , 数组(Arrays) 是有序数据的集, 集合(Sets)是无序无重 ...

  8. Redis常用命令入门5:有序集合类型

    有序集合类型 上节我们一起学习了集合类型,感受到了redis的强大.现在我们接着学Redis的最后一个类型——有序集合类型. 有序集合类型,大家从名字上应该就可以知道,实际上就是在集合类型上加了个有序 ...

  9. 可迭代的集合类型使用foreach语句

    在学习算法这本书图论那一部分的时候,接触到了几个类似for(int w:G.adj(v)),的语句,不是很理解,就去百度,发现这是一种叫做foreach的语法,在书的76页有讲到,但是之前没认真看书, ...

随机推荐

  1. mysql tee 命令

    tee 命令说明: 用过mysql的应该都会知道mysql有一个叫show 的命令,这个命令应该是SQL标准之外的一个扩展:和这个类似mysql还扩展了一个叫tee的命令. tee的功能是把你的所有输 ...

  2. ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 错误分析

    目录(?)[+] 1. 问题起因 最近在进行Oracle的一些操作时,总会遇到这个错误:  ORA-06502: PL/SQL: 数字或值错误 :  字符串缓冲区太小,错误如下: ORA-00604: ...

  3. GDAL与OpenCV2.X数据转换(适合多光谱和高光谱等多通道的遥感影像)

    一.前言 GDAL具有强大的图像读写功能,但是对常用图像处理算法的集成较少,OpenCV恰恰具有较强的图像处理能力,因此有效的结合两者对图像(遥感影像)的处理带来了极大的方便.那么如何实现GDAL与o ...

  4. Unix/Linux环境C编程入门教程(21) 各个系统HelloWorld跑起来效果如何?

    Unix/Linux家族人员众多,我们无法一一讲解如何配置环境. 本文选定我们在前面安装的RHEL6 RHEL7 MAC10.9.3 Solaris11如何跑起来helloworld RHEL 6 上 ...

  5. 关于URL编码的问题

    在进行WEB开发时,字符集编码常常困扰着我们.我们需要区分两种情况,一是URL编码,二是HTTP Body编码.这两种编码所处理的机制不同. URL编码和解码 客户端负责对URL编码,服务端负责解码. ...

  6. ngrok首页、文档和下载 - Web服务安全通道 - 开源中国社区

    ngrok首页.文档和下载 - Web服务安全通道 - 开源中国社区      Web服务安全通道 ngrok 编辑/纠错    分享到     新浪微博腾讯微博    已用    +0    收藏 ...

  7. 让app在ios6上具有ios7的扁平效果

    使用cocoapods在工程中加入UI7Kit,关于UI7Kit请自行google. 加入到工程 如果没安装cocoapods,则安装.(http://www.cocoapods.org) 安装方法: ...

  8. OAuth2.0 错误码

    http://open.taobao.com/doc/detail.htm?id=118 OAuth2.0 错误码 新浪微博OAuth2.0实现中,授权服务器在接收到验证授权请求时,会按照OAuth2 ...

  9. java中的302和sendRedirect的区别

    java中有一个sendRedirect函数这个用于跳转到另外一个页面,这个实际上是一个302跳转,但是不完全等同于302跳转 点击(此处)折叠或打开 response.sendRedirect(&q ...

  10. ASP.NET MVC 学习之路-6

    本文在于巩固基础 上文中使用的Code First创建数据库 本文将使用数据库生成模型 这里使用ADO.NET实体数据模型来生成模型 下面按照指导完成操作 下面看看如何使用这个框架 数据访问修改主要是 ...