1. 属性注入
声明成员属性的注入
声明一个成员变量同时生成set方法
成员属性类型分类:
基本数据类型+String
集合(List、set、map)
自定义类
都是在 bean 节点中,以子节点方式注入
2. 构造方法注入
都是在 bean 节点中,以子节点方式注入
3.接口注入( spring 没有提供,所以可以不用研究)
一、基本类型注入
1. 创建 Test01 类,含一个基本数据类型的成员变量
2. 在 beans.xml 中配置
3. 测试类
二、引用类型 ref 注入
针对自定义类型采用 ref 注入
创建一个 UserDao 类,String 类型的成员变量,并提供 get set 方法
3. 创建 UserService 类,创建一个成员变量 为 UserDao 类型,可以使用 set 或 构造注入
4. beans.xml 中配置注入
5. 测试
说明注入成功
在没有调用test01的情况下,也发生了注入,并创建了 test01对象
说明,只要加载了 bean.xml 核心配置文件,就会创建所有配置在文件中的 bean 对象
6. 测试,是否所有的 bean 都是单例的
地址都一样,说明只要是来自于 spring 容器的 bean 对象,都是单例模式下创建的单例对象
只有一个对象,使用的都是同一个对象
三、构造方法注入
1. Spring 容器管理的 bean 对象,必须提供无参构造,否则无法创建对象
2. 写一个 MenuService ,提供一个 String name 的属性
提供一个,有参构造函数,注意,不要写无参构造
3. 在核心配置文件中,配置这个 service 的bean 节点
4. 直接测试,发现报错
说明,没有无参构造时, spring 无法创建 MenuServcice 的 bean 对象
5. 所以,必须养成,给类提供一个无参构造的 习惯
6. 此时再测试,即可通过
感谢阅读全文。
未完。。。