我正在尝试更多地了解Spring Framework我目前所了解的内容,而我指的是" Pro Spring 3"书。
它说一般Dependency Injection
可以分解为两个组成部分,即:
Dependency Lookup
和Dependency Injection
。
关于这一点,我有以下问题:
1)Spring是否同时提供Dependency Lookup
,Ioc
?
2)所有Dependency Injection
容器都包含这两个系统:Dependency Lookup
,Dependency Injection
?
3)如果Spring同时提供Dependency Lookup
,unset!
,那么当它具有这两种功能时,说Spring是DI框架是不是错了?
答案 0 :(得分:2)
1:是的,Spring提供依赖注入和依赖查找。您可以让Spring使用例如@Autowired
注释注入依赖项,也可以通过调用ApplicationContext
方法之一手动查找Spring getBean
中的组件。
关于“控制反转”(IoC)概念的主要理解是Spring为你工作,而不是相反:你让Spring创建组件的实例,然后让Spring注入相反,而不是相反,你自己编写代码来创建实例和查找依赖项。
2:不,不一定。
3:Spring可以进行依赖注入(DI),因此它是一个DI框架。仅仅因为它还做其他事情(例如允许你明确地查找组件)并不会突然再使它成为DI框架。