在面试时谈谈对IOC的底层实现

IOC的底层实现非常的复杂,在面试时被问到谈谈IOC的底层实现该如何回答呢。因为小庄也是应届生,最近正在整理一些自己的理解,同时希望对您也有所帮助。

主要要体现出一些重点,例如一些重要的类及方法,以及名词等。createBeanFactory、getBean、doGetBean、createBean、doCreateBean、populateBean

一、谈谈IOC的底层实现

 (1) 调用createBeanFactory,创建一个Bean工厂。(DefualtListableBeanFactory);

 (2) 开始循环创建对象,因为容器中默认是单例Bean,所以首先通过getBean,doGetBean方法去容器中查找对应的Bean;

(3)若在容器中找不到对应的Bean,则会通过createBean、doCreateBean方法以反射的方式创建Bean对象。反射会调用到getDeclaredConstructor和newInstance方法;

(4)调用pupolateBean方法进行对象的属性赋值;

(5)最后再进行其他的一些初始化操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小庄学编程666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值