例如:假设我们有一个对象,Employee
并且它对对象有依赖性Address
。我们将定义一个Employee与之相对应的bean ,以定义其对object的依赖Address
。
当Spring尝试创建一个Employee
对象时,它将看到Employee
依赖于Address
,因此它将首先创建该Address
对象(依赖对象),然后将其注入到该Employee
对象中。
控制反转(IoC)和依赖注入(DI)可互换使用。IoC是通过DI实现的。DI是提供依赖关系的过程,而IoC是DI的最终结果。(注意: DI不是实现IoC的唯一方法。还有其他方法。)
通过DI,创建对象的责任从我们的应用程序代码转移到了spring容器;这种现象称为IoC。
依赖注入可以通过setter注入或构造函数注入来完成。