1.现在说明下真正创建Bean过程的主流程,下面先贴出源码:
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#doCreateBean
1.对象实例化,内部还有一些出来构造器选择,构造器参数解析的处理,处理完后会进行缓存到BeanDefination中
2. 属性填充和解析,还有一些init方法的调用
3.调用aop方法过程
2.思考自动注入过程autowired
1.自动注入也是在populateBean进行处理,然后进行实例化
2.根据类型注入时,是根据类型查找所有的的符合该类型的beanName,然后逐一进行getBean(name)调用,此过程也会创建bean的代理,那么此时就会注入代理对象,属性的最后赋值也是通过调用反射进行。