Spring面试系列:这些基础的面试题,你废了吗?

写面试系列的初衷并不是为了怎么应付面试官,而是希望通过这一道道面试题引起我们对技术的深思,真正去理解技术本身;从而能自信且坦荡的面对每一次技术碰撞,清晰的知道我们知识广度与深度。

不要一股脑的去看题,建议先自己思考一番,还是那句话,不要光看我的博文,学习这种活,只有你自己去理解透,用自己所能理解的语言重塑,才是你自己的。

1.Spring Framework 有哪些核心模块?

在这里插入图片描述
Spring的核心容器由下面的模块组成:

  1. spring-core
  2. spring-beans
  3. spring-aop
  4. spring-context
  5. spring-expression

spring-corespring-beans 提供了基础功能和框架,spring-core 提供基础API,例如资源管理,泛型处理。spinrg-beans提供了IoC(控制反转)和DI(依赖注入)。spring-aop提供动态代理,定义方法拦截器和切入点。spring-context建立在Core和Beans的基础上,如事件驱动、注解驱动、模块驱动等等。spring-expression 提供强大的表达式语言。

2.Spring的IoC是什么?

在这里插入图片描述

说起 IoC 我想学过Spring的伙伴都知道它是控制反转(即把内置对象控制权反交给一个容器,而应用程序只需要提供对象的类型即可),主要有DL(依赖查找)和DI(依赖注入)的实现。

说完了,就这些?

当然你还可以扯一扯IoC的来历——好莱坞原则。

“不要给我们打电话,我们会给你打电话(don‘t call us, we‘ll call you)”这是著名的好莱坞原则。

原则介绍

在好莱坞,把简历递交给演艺公司后就只有回家等待。由演艺公司对整个娱乐项的完全控制,演员只能被动式的接受公司的差使,在需要的环节中,完成自己的演出。

IOC的原理就是基于好莱坞原则,所有的组件都是被动的(Passive),所有的组件初始化和调用都由容器负责。

3.依赖查找和依赖注入有什么区别?

在这里插入图片描述
依赖查找通过主动和手动的依赖查找方式,通常需要依赖容器和标准api实现;而依赖注入是手动或自动依赖绑定的方式,无需依赖特定的容器和api。

这里要清楚不管是DL(依赖查找)还是DI(依赖注入)都只是IoC其中的一种实现方式。

4.什么是SpringIoC容器?

在这里插入图片描述
Spring IoC负责创建对象,管理对象(通过依赖注入DI),装配对象,配置对象,并且管理这些对象的整个生命周期。可以归结为两个方面,第一个是Spring框架是IoC容器的实现,第二个方面是DI(依赖注入)是它实现的原则。

5.BeanFactory与FactoryBean的区别?

在这里插入图片描述
BeanFactory是ApplicationContext的顶层接口,也就是它才是IoC的底层容器。

FactoryBean是创建Bean的一种方式,可以帮助实现复杂的初始化逻辑。

6.最后

最后的最后,为了更好的阅读体验,我把想说的话都放在了下面,嘿嘿。

我是一颗剽悍的种子 把我会的,认真的分享 是我写博客一直不变的信条。
如果你能看到这篇博文,说明咱们还是很有缘的;希望能带给你一些许帮助,创作的不易,
把我文章的知识带走,你的三连留下,点赞,评论,关注,是我最大的动力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值