控制反转IoC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法
控制反转:其实就是在完全硬编码在程序中,对象的创建由程序自己控制,即我们自己new出来。很大程度上这种情况下,耦合度比较高。设计程序时,我们应遵循低耦合高内聚原则。而控制反转后将对象的创建转移给第三方,所谓控制反转就是:获得依赖对象的方式反转了。
依赖注入:是实现ioc容器的方法,通常由构造器注入和setter注入方式,常用的是setter注入。当使用第三方Bean时,不确定是否提供构造方法,所以最好是setter注入方式。
容器的使用方式:
通过BeanFactory和ApplicationContext接口,如图所示:
BeanFactory:是Spring IOC的最低层设计,提供了先进的配置机制,使得任何类型的对象配置成为可能。 ApplicationContext:ApplicationContext接口是继承自BeanFactory,实现了许多接口的扩展。
实例化方式:
①、基于xml配置形式:
· 通过无参构造实例化 · 通过静态功能方式实例化
· 通过普通工厂实例化
|