IoC容器(Inverse of Controller):
IoC 是指在程序开发中,实例的创建不再由调用者管理,而是由 Spring 容器创建。Spring 容器会负责控制程序之间的关系,而不是由程序代码直接控制,因此,控制权由程序代码转移到了 Spring 容器中,控制权发生了反转,这就是 Spring 的 IoC 思想。
打个比方:孩子长大了需要找老师,你需要自己去找老师,自己谈学习的课程,自己谈老师工资。而现在有了学校,只需要去找学校,学校会直接给你一个老师。你不用自己找老师。
自己找老师就叫做直接控制,自己找老师 变成 学校提供老师。老师的控制权转给了学校。控制权的转换就叫做控制反转。学校就是IoC容器,在我们需要老师的时候提供老师,学校提供老师,这个过程就叫做依赖注入。