[Spring开发笔记]Spring 集合注入详解
2011-05-29 09:08
495 查看
学过Spring的同学都知道,Spring中不仅可以注入简单类型的数据,还可以注入集合,事实上在项目开发中,还是经常会用到集合对象注入的。下面我们就来一起做个分析,希望对正在学习的朋友来说有点帮助。 Spring使用回顾:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 可被注入的类型: 1.简单类型:Java中的基本数据类型 2.集合:Java中给我们一些能存储大量的数据对象 3.对象:car(小汽车) 属性(车轮 车窗 方向盘)方法(刹车) Spring中的依赖注入(DI/ioc/反转控制/依赖注入) 注入方式: 1)setter方法注入使用与测试 步骤:(1)先在被注入的类中定义变量(简单类型、其他的类对象) (2)定义该变量的setter方法 (3)新建applicationContext.xml(一般这么起名) 配置<bean id="" class=""> bean两个重要的属性 id (是这个bean唯一的标识) [example:人的身份证] class(是这个bean的所在的位置)[example:人的地址] 1.增加<property name=""> </property> 设置<property>的name属性 (它就是我们要注入变量) 2.设置<property>的值 有两种方式:第一种是直接设置属性值 (value="设置的值"),另一种方式 加一个子标签<value>设置值</value>(不知道怎么写的同学,面壁思过,参考我们的例子) 3.注意,如果我们注入的是一个对象,也分两步:第一步,先把对象配置出来(定义一个该对象的bean),在通过<property>注入到需要该对象的地方。[example: <property name='obj' ref='另一个bean的id'>] (4)编写测试注入的入口方法 入口方法 ( 李老师 语录 :public static void main(String args[]) ) 1.获取容器(上下文对象) ApplicationContext,获取 上下文对象的方法有三种:通过类路径:ClassPathXmlApplicationContext() 通过文件系统路径:FileSystemXmlApplicatoinContext() 通过获取Web路径:WebApplicationContext() 注意:配置文件名称可匹配 app*.xml,也可以是数组加载多个配置文件 2.获取要使用的对象 通过1步得到上下文对象的.getBean('定义的bean的id'); 注意:要对getBean过来的对象进行强制类型转换,转换成我们需要的类型 2)构造器注入 1)要在被注入的类中定义构造方法 2)配置applicatoinContext文件,如同setter方法注入的第“(3)”步 注意:定义<property>设定值得方法不同于setter方法注入 应该是<constructor-arg ></constructor-arg> 设置<constructor-arg>的属性,设置index(索引)对应构造器的第 index 个位置 的参数值(index从0开始),同时还可以注入对象 3)编写测试注入的入口方法 同setter方法注入第“(4)”步 3)接口注入 接口注入,Spring部分版本不支持 Spring知识回顾结束>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1)先将简单的数据类型注入到我们的类中 ////////////////////////////////////////////////////////////////// /*注入list并且测试输出 * list装配步骤: * 1)先定义集合类型的变量,如:lists 并生成其getter和setter方法 * 2)在配置文件中定义 * <property name="lists"> <list> <value>CSDN1</value> <value>CSDN2</value> <value>CSDN3</value> <value>CSDN4</value> </list> </property> * * */ List<String> list=gs.getLists(); for(String str:list){ System.out.println(str); } ////////////////////////////////////////////////////////////////// /* * 注入set集合的方法 * 1)在要注入的类中定义要注入的集合 比如 sets 并生成其getter和setter方法 * 2)修改配置文件,增加属性 * <property name="sets"> <set> <value>**set**CSDN1</value> <value>**set**CSDN2</value> <value>**set**CSDN3</value> <value>**set**CSDN4</value> </set> </property> * */ //测试注入set集合的方法 Set<String> sets=gs.getSets(); for(String str2:sets){ System.out.println(str2); } ////////////////////////////////////////////////////////////////// /* * 测试注入Map集合的步骤 * 1)在要注入的类中定义Map对象类型的变量,比如:maps 并生成其getter和setter方法 * 2)配置配置文件,增加一个property属性,同时增加Map集合 * <property name="maps"> <map> <entry key="1"> <value>###Map###CSDN1</value> </entry> <entry key="2"> <value>###Map###CSDN2</value> </entry> <entry key="3"> <value>###Map###CSDN3</value> </entry> <entry key="4"> <value>###Map###CSDN4</value> </entry> </map> </property> * * * */ //测试注入Map集合的方法 Map<Integer,String> maps=gs.getMaps(); //得到所有的键值 Set<Integer> sts=maps.keySet(); //循环所有的键值 for(Integer i:sts){ System.out.println("当前Map的第"+i+"个值为"+maps.get(i)); } ////////////////////////////////////////////////////////////////// /* 1)在要注入的类中定义一个Properties类型的变量 比如:pops 并生成其getter和setter方法 * 2)配置文件中修改一下,增加一个配置,配置内容如下: * <property name="pops"> <props> <prop key="driver">com.mysql.jdbc.Driver</prop> <prop key="user">root</prop> <prop key="pwd">123</prop> </props> </property> * 3)注意要先将Properties获取到后,使用stringPropertyNames()方法转换为key值 * */ //获得Properties集合 Properties pps=gs.getPops(); //获得所有的属性名称集合 Set<String> set=pps.stringPropertyNames(); //遍历所有的Set for(String pkey:set){ System.out.println("配置文件的"+pkey+"属性值为"+pps.getProperty(pkey)); } [原创地址] [源码下载] [更多原创,多多支持多] |
相关文章推荐
- Spring学习(1):控制反转(IoC)和依赖注入(DI)的详解以及注解(annotation)开发入门案例
- Spring笔记(6)-----------注入参数详解
- Spring-注入参数详解-[通过util命名空间简化集合类型的配置]
- spring集合属性的注入学习笔记
- [Spring开发笔记]Spring中自动装配详解(协作者关系)
- spring学习笔记 依赖注入详解
- [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间
- Java学习笔记38:通过Spring Bean 注入static变量,来设计一套适合测试,开发,生产环境的配置项
- Spring4学习笔记----Spring的依赖注入详解
- spring笔记之二:控制反转注入参数详解
- SPRING IN ACTION 第4版笔记-第二章WIRING BEANS-006-当构造函数有集合时的注入
- 【JavaEE学习笔记】Spring_02_IoC/DI依赖注入,集合对象属性注入,自动装配,代理模式
- Spring-注入参数详解-[集合类型属性]
- Android 应用开发笔记 - UI开发详解
- Android开发笔记之: 数据存储方式详解
- AngularJS开发指南15:AngularJS的创建服务,将服务注入到控制器,管理服务依赖详解
- Android开发学习笔记:Intent的简介以及属性的详解
- Kinect开发笔记之三Kinect开发环境配置详解
- Spring.Net对方法的注入(学习笔记三)
- JavaWeb 学习笔记 spring+jdbc整合开发初步