[Spring开发笔记]Spring 集合注入详解
来源:互联网 发布:网易云音乐无网络连接 编辑:程序博客网 时间:2024/04/26 05:46
学过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开发笔记]Spring 集合注入详解
- Spring-注入参数详解-[集合类型属性]
- 《Pro Spring》学习笔记之集合注入
- spring学习笔记(5)--集合注入
- 【Spring笔记】(二)集合注入、注入的方法
- spring 集合注入方式
- spring集合注入
- Spring -------集合对象注入
- Spring注入集合
- Spring集合注入
- Spring 集合注入
- spring集合注入案例
- Spring集合注入
- Spring 集合注入
- spring之集合注入
- Spring集合注入
- Spring bean 集合注入
- Spring注入集合属性
- struts2-java框架-入门案例1
- struts2-java框架-跳转与标签案例2
- struts2-java框架-依赖注入案例3
- [Spring开发笔记]关于Spring中依赖检查的问题
- [Spring开发笔记]Spring中自动装配详解(协作者关系)
- [Spring开发笔记]Spring 集合注入详解
- [Spring开发笔记]Spring ioc补充
- [Spring开发笔记]Spirng中bean的生命周期
- web开发模式
- C
- 目标
- 小小登陆程序
- 又写了一篇英语作文……
- iphone开发 UITableview实现分页显示方法(代码)