能注入拿到正确的值吗?
答案:不能,这四个都有值,除了beanFactory是DefaultListableBeanFactory,其他钱都是AnnotationConfigApplicationContext这个值,并不是自己的值
执行结果:
org.springframework.beans.factory.support.DefaultListableBeanFactory#registerResolvableDependency
我们来分析源码:
org.springframework.beans.factory.support.DefaultListableBeanFactory#findAutowireCandidates
获取所有BeanFactory的bean,发现没有,
遍历四大忽略的类
直接返回该结果:
总结:1.寻找四大忽略自动注入的bean,肯定是没有的
2.进行遍历四大忽略的注解类型,从hashmap总获取对应的value
然后返回该值进行自动注入。
四大忽略的类型分别对应的value已经标注。