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. Nginx Upload Module 上传模块

    传统站点在处理文件上传请求时,普遍使用后端编程语言处理,如:Java.PHP.Python.Ruby等.今天给大家介绍Nginx的一个模块,Upload Module上传模块,此模块的原理是先把用户上 ...

  2. android activity启动的时候隐藏软键盘

    1.概述 android如果界面有EditText之类的跳软键盘的控件  在跳转到该界面是默认会跳出软键盘的. 更何况有些需求要直接需要获取焦点 <requestFocus /> 如果是E ...

  3. QProgressBar和QProgressDialog的简单实用

    在QT中可以用QProgressBar或着QProgressDialog来实现进度条. QProgressBar的使用 首先在designer中拖一个按钮和进度条部件,按下面初始化 ui->pr ...

  4. Linux fdisk命令参数及用法详解---Linux磁盘分区管理命令fdisk

    fdisk 命令 linux磁盘分区管理 用途:观察硬盘之实体使用情形与分割硬盘用. 使用方法: 一.在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形. 二.在 ...

  5. 关于select

    select 1与select * 的区别:“selelct 常量 from 表名” 对应所有行,返回的永远只有一个值,即常量 ,所以一般只用来判断是否有表记录:而“select * from 表名” ...

  6. ASP.NETURL地址防注入过滤问题

    首先在Global.asax.cs里面配置一个 提交事件  不用过滤所有的地址 过滤 GET POST的地址就行了 /// <summary> /// 防止sql注入 /// </s ...

  7. 新手学习.net编程计划-1

    .NET是一个庞大的学习体系,对于新手来说会感觉无从下手.学习知识必须从入门的基础学起,才能更好地掌握.学习.net也是如此,最基础的莫过于了解.net平台,以及掌握.net的基础语法C#. 本计划是 ...

  8. lucas模板

    ll PowMod(ll a,ll b,ll MOD){ ll ret=; while(b){ ) ret=(ret*a)%MOD; a=(a*a)%MOD; b>>=; } return ...

  9. Chessboard(规律)&&阿里巴巴和n个大盗(规律)

    Chessboard Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  10. Cocos2d-x Render-NewCulling

    .cpp layout->setBackGroundImageScale9Enabled(true); layout->setBackGroundImage("green_edi ...