IOC案例理解(依赖注入):
IOC其实就是一个容器而已,他要干的事情其实就是一个依赖注入的问题,
再说的直白一点就是 赋值,把右边的值赋值给左边。
场景
在平常的开发当中,会在Controller层写上
@AutoWrite private ServivceInterface si ;
如果要是没有IOC的依赖注入,完成这么一件事,需要通过
private ServiceInterface si = new ServiceInterfaceImpl();
所以其实IOC做的事前就是把这个赋值的过程给干了。这个过程可以理解为依赖注入。
控制反转
在实现的ioc依赖注入的过程当中,还需要考虑一个问题,就是顺序的问题,比
如在Controller层中需要注入Service层的东西,在Service层中需要注入
Dao层的东西,那么肯定需要这些类都被初始化完之后才能依赖注入,于是就需
要先把所有的new出来的对象放到IOC中,把new 对象的权力交给IOC,这个过
程其实就是控制反转。
个人理解
其实一直有说 ioc 是依赖注入,也有人说ioc 是控制反转。我个人理解:ioc
的目的是实现依赖注入(赋值),在实现这个过程中需要把所有的对象都存储到
ioc中,这样ioc会有所有对象的实例(控制反转)。