美文网首页
Spring-4-IoC依赖注入

Spring-4-IoC依赖注入

作者: 宠辱不惊的咸鱼 | 来源:发表于2019-10-04 09:31 被阅读0次

调用流程

  • 预实例化,或者手动getBean,都会进入下述流程
  • AbstractBeanFactory.getBean(String name)
  • AbstractBeanFactory.doGetBean(final String name, final Class<T> requiredType, final Object[] args, boolean typeCheckOnly)
    • 先看cache:Object sharedInstance = getSingleton(beanName),第一次嘛,自然是null
    • 在parent存在,并且自己的beanDefinitionMap不含该beanName时,才让parent来getBean
    • 把beanName塞进Set<String> alreadyCreated
  • 根据beanName拿到RootBeanDefinition
    • RootBeanDefinition mbd = getMergedLocalBeanDefinition(beanName),这里也有一个缓存
  • 利用RootBeanDefinition拿到依赖数组
    • String[] dependsOn = mbd.getDependsOn()
    • 这个和属性注入无关,查看@DependsOn
  • 根据单例,prototype,自定义scope进行处理
  • 利用反射,通过无参构造函数实例化
  • populateBean
    • 属性注入
  • initializeBean

问答

如何保证单例

  • DefaultSingletonBeanRegistry.getSingleton方法中,以singletonObjects作为同步块,并有double check

实例化时什么情况会用cglib

相关文章

  • Spring-4-IoC依赖注入

    调用流程 预实例化,或者手动getBean,都会进入下述流程 AbstractBeanFactory.getBea...

  • 开源项目的依赖注入

    开源项目的依赖注入 依赖注入概念 依赖注入(DI:Dependency Injection): 依赖注入方式: B...

  • 资料收集

    依赖注入 AngularJs依赖注入的研究 (已读) 依赖注入(已读)

  • Dagger2常用注解诠释

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

  • Day62 Spring 依赖注入源码解析

    手动注入自动注入 依赖注入,set注入,构造注入 依赖注入: Key依据 byType byName constr...

  • Dagger2 源码分析

    Dagger简单介绍 Dagger2涉及到依赖注入,有关依赖注入的请到理解依赖注入 通过注解方式实现依赖注入分为两...

  • 依赖注入(转)

    依赖注入(转) 原文地址:依赖注入原理

  • Spring学习之依赖注入

    Spring学习之依赖注入 依赖注入的基本概念 依赖注入(Dependecy Injection),也称为IoC(...

  • 依赖注入及Dagger2框架简介

    依赖注入简介 在介绍Dagger框架之前我们先来看看依赖注入(Dependence Injection),依赖注入...

  • 浅谈依赖注入

    依赖注入是什么? 依赖注入的作用是什么? 依赖注入的应用场景? 如何实现依赖注入? 对于一个后端程序员来说,依赖注...

网友评论

      本文标题:Spring-4-IoC依赖注入

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