说到Spring的核心思想Ioc和aop不是Spring提出来的,在Spring以前就已经存在,只不过更偏向理论化,Spring在技术层次把两个思想作了很是好的实现(java)java
第一部分:什么是IOC
IOC Inversion of Control (控制反转/反转控制),注意它是⼀个技术思想,不是⼀个技术实现
描述的事情:Java开发领域对象的建立,管理的问题
传统开发⽅式:⽐如类A依赖于类B,每每会在类A中new⼀个B的对象spring
IoC思想下开发⽅式:咱们不⽤⾃⼰去new对象了,⽽是由IoC容器(Spring框架)去帮助咱们实例化对象而且管理它,咱们须要使⽤哪一个对象,去问IoC容器要便可框架
咱们丧失了⼀个权利(建立、管理对象的权利),获得了⼀个福利(不⽤考虑对象的建立、管理等⼀系列事情)ide
为何叫作控制反转?
控制:指的是对象建立(实例化、管理)的权利
反转:控制权交给外部环境了(spring框架、IoC容器)对象
第二部分:IOC解决了什么问题blog
IoC解决对象之间的耦合问题(声明接口类型的属性好比 private UserDao userDao;面向的接口,并无面向具体的实现类,不存在特别强度的耦合)接口
第三部分:IoC和DI的区别开发
DI:Dependancy Injection(依赖注⼊)
怎么理解:
IOC和DI描述的是同⼀件事情,只不过⻆度不⼀样罢了it