IOC:全名 Inversion Of Control,即控制反转。就是将你设计好的对象交给Spring容器进行管理,不是在自己的对象内部进行控制,这样的控制关系的反转叫做控制反转。
注: 以前是我们自己在对象内部创建我们所需要的对象,现在是容器通过依赖注入的方式,将你想要的对象给你。
DI:全名Dependency Injection,即依赖注入。就是容器动态的将依赖关系注入到组件中。
谁依赖谁:
我们的程序依赖容器
为什么依赖:
我们的程序需要容器给我们提供外部资源
谁注入谁:
容器注入依赖给我们的应用程序
注入什么:
注入我们所需要的外部资源
简单例子:
我们的Spring容器其实可以看做一个婚介所,我们以前找对象是要自己去物色,可能要双眼皮,大眼睛,身高要160等等,但是当你加入了婚介所之后就不需要自己去找了,你只需要把要求提出来,然后婚介所就会从他们的会员当中寻找符合你条件的对象给你。