bean的创建
AnnotationConfigApplicationContext context
= new AnnotationConfigApplicationContext(Config.class);

Spring 容器的刷新

非懒加载的bean
// Instantiate all remaining (non-lazy-init) singletons.
finishBeanFactoryInitialization(beanFactory);

AbstractApplicationContext
preInstantiateSingletons

遍历所有的BeanDefinition

doGetBean

DoGetBean有就获取,没有就创建bean
return createBean(beanName, mbd, args);
创建bean

创建bean 里面有属性填充,属性填充包括了依赖注入


初始化 initializeBean

注册销毁bean

autowire依赖注入
创建bean的过程中,进行属性注入populateBean,将auwired的对象注入到被依赖的bean中
如:person里面autowired order,则将order 的bean注入到了person
populateBean

@Autowired是被AutowiredAnnotationBeanPostProcessor 处理的


对字段属性进行赋值注入



1810

被折叠的 条评论
为什么被折叠?



