SpringBoot如何处理@Autowired(一)这篇小文展示了AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues()最终执行@Autowired属性实例的织入;然后DefaultListableBeanFactory.resolveDependency()->DefaultListableBeanFactory.doResolveDependency()->DependencyDescriptor.resolveCandidate()->beanFactory.getBean()链创建字段bean实例:publicObjectresolveDependency(){//省略其他代码{objectresult=getAutowireCandidateResolver().getLazyResolutionProxyIfNecessary(描述符,requestingBeanName);if(result==null){result=doResolveDependency(descriptor,requestingBeanName,autowiredBeanNames,typeConverter);}返回结果;}}publicObjectresolveCandidate(StringbeanName,Class>requiredType,BeanFactorybeanFactory)throwsBeansException{returnbeanFactory.get;现在bean(}beanName)是不是豁然开朗了?整个调用环节就清楚了~一开始有点懒,就不总结了。我将总结留给读者和朋友们。欢迎留言加好友讨论~
