【问题标题】:Ioc Container: Dependency Injection, Dependency Lookup?Ioc 容器:依赖注入、依赖查找?
【发布时间】:2016-11-13 07:54:16
【问题描述】:

我正在尝试更多地了解我目前所知道的 Spring Framework,我指的是“Pro Spring 3”一书。

我在书中遇到了以下部分:

它说通常IoC 可以分解为两个组件,即: Dependency InjectionDependency Lookup

对此,我有以下问题:

1) Spring 是否同时提供 Dependency Injection ,Dependency Lookup

2) 所有Ioc 容器是否都有这两个系统,即:Dependency Injection ,Dependency Lookup

3) 如果Spring同时提供Dependency Injection,Dependency Lookup,那么当Spring同时具备这两个能力时,说Spring是DI框架是不是错了?

【问题讨论】:

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


    【解决方案1】:

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

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

    2:不,不一定。

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

    【讨论】:

    • 非常感谢您提供的宝贵信息,解决了我的疑惑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    相关资源
    最近更新 更多