spring系统学习-Beans自动装配
四 Beans 自动装配(不建议使用)
-
我们学会如何使用元素来声明bean和通过使用XML配置文件中的和元素来注入。
-
自动装配就是在不使用和元素的情况下自动装配bean。
01 自动装配方式
- byName:属性名(PName)自动装配。
- 从bean中找到对应属性的名称PName,PName和xml中的bean的id或者name进行匹配。
- 匹配成功,注入匹配的bean。
- 匹配失败,它将抛出异常。
- byType:由属性类型自动装配。
- 从bean中找到对应属性的类型(Ptype),Ptype和xml中的bean的class全限定名匹配。
- 匹配成功,注入匹配的bean。
- 匹配失败,它将抛出异常。
- constructor:类似byType,但该类型只用于构造函数参数类型。
- 构造参数类型(CPtype),CPtype和xml中的bean的class全限定名匹配。
- 匹配成功,注入匹配的bean。
- 匹配失败,它将抛出异常。
- autodetect
- 先尝试通过constructor来匹配
- 匹配失败后,再尝试通过byType来自动装配。
02 自动装配的局限性
- 重写的可能性:你可以使用总是重写自动装配的和设置来指定依赖关系。
- 原始数据类型:不能自动装配基本类型,字符串和类。
- 混乱的本质:自动装配不如显式装配精确。
03 自动装配测试 公共配置
04 byName
05 byType
06 constructor
代码地址:https://gitee.com/DanShenGuiZu/learnDemo.git