spring能否什么类型的bean都能自动注入?

能注入拿到正确的值吗?

答案:不能,这四个都有值,除了beanFactory是DefaultListableBeanFactory,其他钱都是AnnotationConfigApplicationContext这个值,并不是自己的值

执行结果:

org.springframework.beans.factory.support.DefaultListableBeanFactory#registerResolvableDependency

我们来分析源码:

org.springframework.beans.factory.support.DefaultListableBeanFactory#findAutowireCandidates

  1. 获取所有BeanFactory的bean,发现没有,

  1. 遍历四大忽略的类

直接返回该结果:

总结:1.寻找四大忽略自动注入的bean,肯定是没有的

2.进行遍历四大忽略的注解类型,从hashmap总获取对应的value

  1. 然后返回该值进行自动注入。

四大忽略的类型分别对应的value已经标注。

猜你喜欢

转载自blog.csdn.net/u012222011/article/details/129968124