IOC:管制反转
抛开语言和框架,先从一个艰深的例子来理解。租客租房,小王是须要三室一厅的一个房源,也就是说小王依赖这个房源。传统的做法是小王本人跑街串巷去寻找房源,这里就是咱们了解的管制。
而 springIOC 是怎么做的呢?
所有的租客和房源都会在中介注册信息,而这时租客只须要申明我须要一个三室一厅的房源,那么中介会主动将对应的房源交到租客的手上。整个过程不再由租客主导管制,而是交由中介这样的三方容器管制。
管制指的是什么?就是程序中的对象(小王)对依赖对象(房源)的管制,管制对依赖对象的获取。
而反转呢就是反转对依赖对象的管制,交由第三方 spring 容器进行管制。
DI:依赖注入
DI 和 IOC 是对同一思维的不同诠释,一句话就是 被注入对象依赖 IoC 容器配置依赖对象。