这段逻辑其实就是:如果是factoryBean的话, 就把beanName加个&号,传入getBean里获取bean,这里只处理单例bean, 如果是非单例, 在使用的时候直接调用getBean。 下面看getBean逻辑。
doGetBean有两部分逻辑:
1、获取bean(getObjectForBeanInstance(beanInstance))
FactoryBean的详细流程: click here.
2、实例化bean
bean的生成方式一MethodOverrides: click.
bean的生成方式三instanceSupplier: click.
applyMergedBeanDefinitionPostProcessors包含两个重要的注解处理类,详见:
click.
重要的BeanPostProcessor:
1、ApplicationContextAwareProcessor 完成aware接口子类的设置工作
2、ApplicationListenerDetector:click.
@Autowire是什么注入方式:
https://blog.csdn.net/weixin_40698359/article/details/86065031
populateBean 属性填充细节
https://blog.csdn.net/qq_20009015/article/details/106379010