五、DI(依赖注入)
DI和IOC其实描述的是一个概念,只是站在不同角度去描述,也可以说DI是IOC的技术实现,Spring使用反射机制底层创建对象。当Teacher要调用Student时,Spring容器会创建Student的对象,Teacher通过Spring容器获取所需要的Student的实例对象,就叫做依赖注入。
依赖注入主要有两种实现方法:
1.属性setter注入
Ioc容器使用setter方法注入被依赖的实例。通过调用无参构造器或无参static工厂方法实例化bean后,调用该bean的setter()
,即可实现基于setter的DI
2.构造方法注入
Ioc容器使用构造方法注入被依赖的实例。基于构造方法的DI通过调用带参数的构造方法实现,每个参数代表一个依赖