IOC是一种通过描述来生成或者获取对象的技术,对于Java初学者更熟悉的是使用new关键字来创建对象,而在Spring中,它是通过描述来创建对象。
一个系统可以生成各种对象,并且这些对象都需要管理,另外,对象之间并不是孤立的,它们之间还可能存在一些依赖关系。例如一个班级由多个老师和学生组成,那么班级就依赖于老师和学生了。因此,Spring还提供了依赖注入功能,使得我们通过描述来管理各个对象之间的关系。
为了描述上述的班级、学生和老师这三个对象关系,我们需要一个容器。在Spring中把每一个需要管理的对象称为Spring bean成为(简称Bean),而Spring管理这些bean的容器,被我们称为Spring IoC容器。IoC容器具备两个基本的功能:
1、通过描述管理bean,包括发布和获取bean
2、通过描述完成bean之间的依赖关系