美文网首页
依赖查找和依赖注入的来源区别

依赖查找和依赖注入的来源区别

作者: 叶小松_ea46 | 来源:发表于2020-05-18 11:48 被阅读0次

其实这两个的最大区别是,依赖注入的来源可以是非spring容器管理的对象

在refresh()启动容器的时候,会调用prepareBeanFactory()来初始化各种BeanFactory

在初始化过程过,会注册进去四个特殊的Bean,其不是由spring的IOC容器管理的(不会变为BeanDefinition),而是最终会put到一个名为resolvableDependencies的ConcurrentHashMap中作为缓存

上面写着 (and found for atuowiring) 意思是为了Autowired使用的,那么我们就看看autowired在哪使用它了

这一步是根据信息去IOC容器中找对应的Bean,并且注入到目标字段中 这个是重点

在findAutowireCandidates()这个方法中 

就是根据findAutowiringMetadata()方法中找到的被@Autowired修饰的字段或方法,在IOC容器中寻找对应的Bean

但是在这一步之前,它会先遍历resolvableDependencies这个map,判断被@Autowired修饰的字段或方法里有没有在这个map中的,如果有就不去IOC容器中找(容器里也没有,根本找不到),直接从map中获取其对象.

相关文章

  • 依赖查找和依赖注入

    依赖查找和依赖注入的区别 依赖查找:容器中的对象通过Api来查找自己所依赖的资源和对象 依赖注入:依赖对象和注入对...

  • 依赖查找和依赖注入的来源区别

    其实这两个的最大区别是,依赖注入的来源可以是非spring容器管理的对象 在refresh()启动容器的时候,会调...

  • 第三章 在spring中引入IoC和DI

    概念关系 控制反转(IoC) VS 依赖注入(DI) 控制反转可以分为两种子类型:依赖注入(DI)和依赖查找 1....

  • spring

    18.7.22属性注入和构造器注入区别Spring也同时支持两种依赖注入方式:设值注入和构造注入。 这两种依赖注入...

  • Spring系列(1)-装配Spring Bean

    本章的学习目标看如下的思维导图: 依赖注入 在实际环境中实现Ioc容器的方式主要分为:依赖查找和依赖注入二者关系 ...

  • 控制反转、依赖反转、依赖注入有什么区别和联系

    关于依赖注入如何理解,控制反转和依赖注入这两个概念有什么区别。,spring框架中的IOC跟这些概念有什么区别 控...

  • Dagger2常用注解诠释

    依赖注入 控制反转(IoC)与依赖注入(DI)浅谈依赖注入理解依赖注入(IOC)和学习Unity Gradle配置...

  • 依赖注入和依赖注入容器

    依赖注入是一种常见的设计模式,在合适的时候使用它,可以提高我们代码的质量。依赖注入是控制反转的一种实现,那么什么是...

  • JAVA IOC 与 DI

    依赖倒置、控制反转和依赖注入的区分 依赖倒置、控制反转和依赖注入的区分依赖倒置(Dependency Invers...

  • 第三章 3.1DI的配置

    3.1 依赖和依赖注入 依赖注入带来的好处: 动态替换Bean依赖对象,程序更灵活:替换Bean依赖对象,无需修改...

网友评论

      本文标题:依赖查找和依赖注入的来源区别

      本文链接:https://www.haomeiwen.com/subject/fxcuohtx.html