spring源码,依赖注入

class A{
   class B b
}

在依赖注入之前,是如何保证 A依赖的B 也已经实例化了呢?

getA()的时候 A的BeanDefinition已经描述了 A dependsOn B了啊  所以 getA的时候 如果B已经创建 就直接获取 B的单例 如果B没创建 就触发了getB() 创建B的单例的啊

1.A和B都要被同一个spring容器管理

2.容器会在使用前,把所有管理的bean都实例化,所以在使用时无影响

依赖注入,先实例化A,再遍历A里所有带注释的属性,找到属性b,实例化B,然后将B的实例注入A,其中还有个递归过程,因为B也有可能会有依赖注入C