Xml DI 和 注解DI

1.XML  DI

(1)构造注入     通过构造方法实现,灵活性差,仅靠重载限制太多,时效性好,通过匹配的构造方法实例化,但建议保留无参构造

构造注入

Xml DI 和 注解DI

bean节点下使用<constructor>节点赋值 ,可以使用index属性(必须按照012顺序),也可以使用name属性(可以不按顺序,属性值为类中各字段)

p  命名空间注入   (特点:使用属性而不是子元素的形式配置bean的属性,从而简化了配置代码)

Xml DI 和 注解DI

记住导入命名空间

Xml DI 和 注解DI

bean节点使用p属性赋值

集合注入

集合注入之数组

Xml DI 和 注解DI

name属性指定类中的字段名,property节点下设置array节点里用value节点赋值

集合注入之list集合

Xml DI 和 注解DI

与数组雷同只是array节点换成list节点

集合注入之set集合

Xml DI 和 注解DI

与数组雷同只是array节点换成set节点

集合注入之map集合

Xml DI 和 注解DI

使用map节点里entry子节点,子节点里用key和value进行赋值

集合注入之properties

Xml DI 和 注解DI

使用props节点里prop节点里的key属性设置key值,没有value属性,直接进行赋值

2.注解  DI

注解注入  底层不是用set方法,使用反射机制

(1)导入命名空间

Xml DI 和 注解DI

Xml DI 和 注解DI

(2)开启组件扫描

Xml DI 和 注解DI

(3)设置注解

@Resource  JDK注解  

@Autowired
@Qualifier  spring注解
Xml DI 和 注解DI