<!-- 整篇系列内容都是根据郭峰大大的Spring从入门到精通学习整理的-->
依赖注入的三种实现方式
依赖注入的意义:
让组件依赖于抽象,当组件要与其他实际对象发生依赖关系时,通过抽象注入依赖的实际对象。
依赖注入有三种实现方式:
1. 接口注入
2. Set注入
3. 构造注入
接口注入
在接口中定义要注入的信息,并通过接口完成注入。
Set注入
在接受注入的类中定义一个set方法,并在参数中定义需要注入的元素。
构造注入
在接受注入的类中定义一个构造方法,并在参数中定义需要注入的元素。
Spring支持构造注入和Set注入两种方式
使用Set注入还是构造注入?
这个问题相当于是要在对象建立之后准备好资源还是在对象建立时准备好所有的资源。
构造注入
使用构造注入在对象建立时就完成了依赖关系的建立,但是如果要建立的对象有很多,使用构造注入的话,就需要在构造函数上填写大量的参数。
Set注入
使用Set注入可以清晰的了解需要注入的对象是什么,但是因为Set注入需要提供Set*()方法,所以不能保证相关的数据成员或资源在执行时不会被更改设定,所以如果需要让一些数据成员或资源变为只读或私有,使用构造注入是一个简单的选择。