毫无关系的BeanFactory和FactoryBean为什么总是被面试官提问?
如果你的简历上这么写,熟练掌握Spring,并对Spring源码有一定的见解(或者是读过Spring源码),那么无法避免的就是要问几个问题。
IOC的实现原理是什么? AOP底层是如何实现的? 因为这些基本上都是面试必然要准备的题目,所以如果你能粗略的说上一些来,就可能会问一些Spring中使用到的接口,就比如今天我们要说的BeanFactory和FactoryBean有什么不一样(区别)?
如果你确实有些疑惑,那么接着看下去吧。什么是BeanFactory?
其实Spring的源码中,当然很多知名技术的源码也一样,其中声明的类、接口,亦或者变量,都是能凭借英文看出大概的意思来的。
这个BeanFactory就是这样,首先字面意思就是Bean工厂,再转换一下思路,也就是个Bean容器了。
先看源代码,上图!
可以看到BeanFactory是一个接口,它在Spring中是最基础的接口之一了,作用就是定义获取bean及bean的各种属性,在源代码中也可以看出来,里面有我们在编码过程中常用到的getBean()方法。
如果你看过一些Spring源码,知道其中有一个XmlBeanFactory类,这个类被称为是IOC容器的基础类,就是这么一个基础类其实也是基于这个BeanFactory接口来实现的,有兴趣可以去看看这个类的源码;这里建议使用IDEA中的Diagrams功能查看UML类图来查看各类、接口之间的关系,更容易理解。什么是FactoryBean?
先读一下字面意思,工厂Bean?
也可以说成是个工厂Bean,它的职责是Spring提供给用户的一种实例化bean的方式,当然,是要通过实现该接口才可以。
这里还要说一下,其实Spring还有其他两种实例化bean的方式。
一种是通过反射来利用获取bean的class属性,通过其class属性实例化具体的bean。
一种是通过配置文件来实例化。
但是这两种方法都不够灵活,如果大家还想多了解一下这两种方式,还请多查阅一下资料和源码。总结一下
总结下来,其实BeanFactory和FactoryBean半毛钱关系都没有,就是名字像,我依稀记得以前被问到的时候,还是一脸懵逼,后来了解了以后,发现竟然是这样。
果然面试官才是最有套路的,就是想看一下你是不是真正地去读了一些源码。
当被问这个问题时,只需要将两种具体的职责,和为Spring所做的贡献讲一讲,基本上面试官就不会在这个问题上为难你了。
各位,加油,喜欢就点个赞,赞,赞,赞,赞,赞。
学习大数据计算机基础重要吗?学习大数据也就是学习大数据处理技术,一般来说,学习大数据所需要的计算机方面的知识包含有编程处理系统以及大数据技术框架等,那么有人会问,学习大数据计算机基础重要吗?论学习大数据时,计
传三星Exynos2200在制造上遇到困难,已引入AI加速芯片开发作为首款搭载AMDRDNA2架构GPU的SoC,三星Exynos2200相关消息已经在坊间流传了有一段时间了。这款产品将支持光线追踪和可变速率着色,传闻在3DMarkWildLif
三大利空冲击月初,新能源汽车板块脚底下还踩着风火轮,天天往前冲呢这才过了一个多星期,就成了人人喊打的过街老鼠。截止16日收盘,从近期高点算起,宁德时代跌幅14,比亚迪5,赣锋锂业15,亿纬锂能
颜值实力两开花,夏日自拍优选vivoS10Pro万物皆有其与众不同之处,不同的手机针对于不同的人群而开发,对于自拍党群体来说,一款拥有强大自拍功能的手机实在难得。说到自拍,那就不得不提到vivoS10系列的新产品vivoS10P
OPPO新机入网外观配置大公开OPPO的一款新中端机型在近日正式入网,配置和外观照片也在网上出现。这款新机搭载了一块6。43英寸的FHD屏幕,单挖孔设计,支持120Hz的刷新率,后置镜头为6400万像素主摄80
让蔚来道歉怎么这么难作者顾念秋编辑林枫题图蔚来官微出品零态LT(IDLingTaiLT)一位年轻的企业家,成为了自动驾驶进程中的牺牲品。8月14日,美一好公众号发布讣告称,8月12日,上善若水投资管理
新诺基亚N97渲染图1。5寸副屏骁龙888Plus,后置2亿像素5镜头诺基亚N97作为当年诺基亚的顶级旗舰手机,无论是在硬件配置方面还是在外观设计方面,在当时来看都非常领先。而且当时的诺基亚手机敢想敢做,所以能够设计出不同风格,而且极具颠覆性的诺基亚
OPPO新机证件照曝光后置三摄组合显示K字打头有望搭载天玑1200虽然在七八月份的新机竞相推出中,OPPO并未推出特别的机型,不过,根据近期网间爆料的信息来看,在九月的新机发布潮中,已经又一款新机要加入了。根据目前网间透露的信息看,华为小米荣耀,
华为P50Pro值不值得买?来看看首批购买用户怎么说手机中国新闻8月12日上午1008,华为P50Pro正式开启首销,这款属于华为的年中旗舰产品也终于和大家见面。在发布会上,虽然不少人因为它没有5G网络而感到遗憾,但是强大的影像配置
微信占内存太大?两分钟教你解放手机现如今,智能手机已经进入千家万户,人们的日常生活都离不开手机。手机的功能有很多,但人们用得最多的还是通讯。通讯聊天软件,最火的无非就是微信了,经过这么多年的发展,微信已经有上亿的用
易烊千玺同款投影极米NEWZ6X全新升级开启预售2021年8月17日,极米科技宣布易烊千玺成为极米全球品牌代言人,同时推出全新升级的极米家用智能投影NEWZ6X。该产品采用全新包装,定制了代言人UI,增加了代言人内容专区。除此之