IOC 控制反转 Inversion of Control
本来是由应用程序管理的对象之间的依赖关系,现在交给了容器管理,这就是控制反转,即交给了IOC容器
Spring IOC 容器
主要使用DI(依赖注入)方式实现的,不需要主动查找,对象的查找、定位和创建全部由容器管理
优点
1、大量减少Factory和Singleton的数量,代码层次更加清晰,主要原因是不在查找、定位、创建和管理对象之间的依赖关系,都交给了IOC容器管理
2、SpringIOC容器是一个轻量级的容器,没有侵入性(移除spring依旧可以运行),不需要依赖容器的API,也不需要实现一些特殊接口
3、一个合理的设计最好尽量避免侵入性(即最好不要继承使用额外工具)