1 依赖查找的来源
2 依赖注入的来源
3 Spring容器管理和游离对象
4 Spring BeanDefinition 作为依赖来源
5 单例对象作为依赖来源
7 非 Spring 容器管理对象作为依赖来源
8 外部化配置作为依赖来源
面试题
1 注入和查找的依赖来源是否相同
:否,依赖查找的来源仅限于 Spring BeanDefinition 以及单例对象,而依赖注入的来源还包括 Resolvable Dependency 以及@Value 所标注的外部化配置
2 单例对象能在 IoC 容器启动后注册吗?
可以的,单例对象的注册与 BeanDefinition 不同,BeanDefinition 会被 ConfigurableListableBeanFactory#freezeConfiguration() 方法影响,从而冻结注册,单例对象则没有这个限制。
3 Spring 依赖注入的来源有哪些?
Spring BeanDefinition
单例对象
Resolvable Dependency
@Value 外部化配置