Xml DI 和 注解DI
1.XML DI
(1)构造注入 通过构造方法实现,灵活性差,仅靠重载限制太多,时效性好,通过匹配的构造方法实例化,但建议保留无参构造
构造注入
bean节点下使用<constructor>节点赋值 ,可以使用index属性(必须按照012顺序),也可以使用name属性(可以不按顺序,属性值为类中各字段)
p 命名空间注入 (特点:使用属性而不是子元素的形式配置bean的属性,从而简化了配置代码)
记住导入命名空间
bean节点使用p属性赋值
集合注入
集合注入之数组
name属性指定类中的字段名,property节点下设置array节点里用value节点赋值
集合注入之list集合
与数组雷同只是array节点换成list节点
集合注入之set集合
与数组雷同只是array节点换成set节点
集合注入之map集合
使用map节点里entry子节点,子节点里用key和value进行赋值
集合注入之properties
使用props节点里prop节点里的key属性设置key值,没有value属性,直接进行赋值
2.注解 DI
注解注入 底层不是用set方法,使用反射机制
(1)导入命名空间
(2)开启组件扫描
(3)设置注解
@Resource JDK注解
@Autowired @Qualifier spring注解