理论:
创建对象的权利给力容器-控制反转
容器依赖配置进行新对象创建-依赖注入
一开始我认为IoC 、DI这两个概念思想是一样的,后来查找资料了解到
详解:
无spring
在平时的java应用开发中,我们实现某个逻辑时至少需要两个或以上的对象来协作完成,在没有使用Spring的时候,每个对象在需要使用他的合作对象时,自己均要使用像new object() 这样的语法来将合作对象创建出来,
1.这个合作对象是由自己主动创建出来的,创建合作对象的主动权在自己手上,自己需要哪个合作对象,就主动去创建,
2.创建合作对象的主动权和创建时机是由自己把控的,而这样就会使得对象间的耦合度高了,
有Spring:
创建对象的控制权进行转移,它们都依赖容器(spring)
创建合作对象B的工作是由Spring来做的,Spring创建好B对象,然后存储到一个容器里面,当A对象需要使用B对象时,Spring就从存放对象的那个容器里面取出A要使用的那个B对象,然后交给A对象使用,至于Spring是如何创建那个对象,以及什么时候创建好对象的,A对象不需要关心这些细节问题
DI(依赖注入)其实就是IOC的另外一种说法,DI是由Martin Fowler 在2004年初的一篇论文中首次提出的。他总结:控制的什么被反转了?就是:获得依赖对象的方式反转了。
希望能帮助到你们