Ioc容器:依赖注入,依赖查找?

时间:2016-07-11 11:25:21

标签: spring dependency-injection inversion-of-control ioc-container

我正在尝试更多地了解Spring Framework我目前所了解的内容,而我指的是" Pro Spring 3"书。

我在本书中看到了以下部分:

enter image description here

它说一般Dependency Injection可以分解为两个组成部分,即:  Dependency LookupDependency Injection

关于这一点,我有以下问题:

1)Spring是否同时提供Dependency LookupIoc

2)所有Dependency Injection容器都包含这两个系统:Dependency LookupDependency Injection

3)如果Spring同时提供Dependency Lookupunset!,那么当它具有这两种功能时,说Spring是DI框架是不是错了?

1 个答案:

答案 0 :(得分:2)

1:是的,Spring提供依赖注入和依赖查找。您可以让Spring使用例如@Autowired注释注入依赖项,也可以通过调用ApplicationContext方法之一手动查找Spring getBean中的组件。

关于“控制反转”(IoC)概念的主要理解是Spring为你工作,而不是相反:你让Spring创建组件的实例,然后让Spring注入相反,而不是相反,你自己编写代码来创建实例和查找依赖项。

2:不,不一定。

3:Spring可以进行依赖注入(DI),因此它是一个DI框架。仅仅因为它还做其他事情(例如允许你明确地查找组件)并不会突然再使它成为DI框架。