一、Spring Bean依赖注入
主要有两种常用的注入方式:
Constructor-based dependency injection :基于构造函数的依赖注入
Setter-based dependency injection :基于设值函数的依赖注入
实列如下:
☐ set注入:(可以是字符,也可以是对象,还可以是list列表都可以复制)
单个参数注入:
1.创建一个HelloService的接口
2.创建一个类实现这个接口通过set注入
3.编写applicationContext.xml文件
4.编写测试方法
5.结果
多个参数的注入:
1.创建一个接口
2.编写类实现这个接口
3.编写配置文件
4.编写测试类
5.结果:
注意:在配置文件中<prototype>的中得name属性值一定要与对象中的名称一致
☐ 构造方法注入:
单个参数:
1.编写接口的实现
2.编写配置文件
3.编写测试类
4.结果:
多个参数注入:
1.编写类实现接口;
2.编写配置文件
3.编写测试方法
4.结果
二、Spring 注入内部 Beans与ref属性
扩展:使用 <property> 元素 ref属性,引入另一个Bean对象,完成Bean之间注入。
p:<属性名>="xxx" 引入常量值
p:<属性名>-ref="xxx" 引用其它Bean对象
p标签是property的一种简化写法一般很少用
使用p必须引用p名称空间。
改写<property>注入为 p名称空间注入。
列入配置文件:
通过list集合元素来装配属性
类的实现:
测试方法:
结果:
使用util标签的的简写:
配置文件为:
使用p标签进行配置:
结果:
☐ Spring的注入集合 (重点)
在<list/>, <set/>, <map/>, 和<props/>元素中,也可以设置值和参数分别对应Java的集合类型List, Set, Map, 和 Properties。
实列如下:
首先创建一个Gather类提供getset方法;
编写配置文件:bean-property.xml
测试类及其结果:
☐ 懒加载lazy-init
懒加载---就是我们在spring容器启动的是先不把所有的bean都加载到spring的容器中去,而是在当需要用的时候,才把这个对象实例化到容器中。
首先创建一个GatherOther类
编写配置文件:
容器也可以一次加载多个配置文件