2021最新38道Spring大厂面试题,你碰到过哪道?
Posted Java-桃子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021最新38道Spring大厂面试题,你碰到过哪道?相关的知识,希望对你有一定的参考价值。
大家好,这一期呢,我们来讲一下spring面试题,这38道面试题都是今年大厂面试问到过的题目,废话不多说接下来就上正文吧!
1.什么是spring?
Spring是基于Java语言的轻量型,松耦合的集成开发框架。
2.spring给我们带来了什么好处?
好处有下面几个:
- 是预先定义的模板, 省去了我们自己添加的时间。
- 是松耦合。
- 是容易测试。
- 是轻量级。
- 是开发快捷。
- 是强大的抽象化。
- 是声明性的支持。
3.spring中的模块儿有哪些?
模块包括一是测试,二是核心容器,三是面向特征的编程方式,四是数据访问与集成,五是网络开发模块。
4.什么是loc?什么是dI?
ioc是依赖反转,dl是依赖注入。这种设计模式是为了提供松耦合性,从而去除程序中的强依赖性。
5.ioc容器起什么作用?
ioc容器的作用如下,创建实例,配置实例和集成依赖。
6.ioc容器有几种类型?
有两种: beanfactory和applicationcontext.
7.beanfactory和applicationcontext有什么区别?
beanfactory是基本容器,而applicationcontext是高级容器。Applicationcontext是扩展了beanfactory的接口。Applicationcontext比beanfactory提供了更多东西,比如跟aop的集成, 消息资源处理等等。
8.构造器注入和设置器注入的区别是什么?
- 构造器注入没有部分注入。设置器允许部分注入。
- 构造器不能重写设置器属性。设置器可以重写构造器属性。
- 如果有任何修改构造器会创建一个新实例。如果属性改变设置器并不会创建一个新实例。
- 构造器适合用于有非常多的属性的情况。设置器适合属性比较少的情况。
9.什么是autowiring? 其模式是什么?
Autowiring使得程序员可以自动的注入bean。
其模式有如下4种, 一是缺省模式,也就是不激活autowiring。二是名字模式,使用的是设置器。三是类型模式,使用的是设置器。4是构造器模式。
10.bean 的运行模式有几种?
一共有5种, singleton, prototype, request, session, global session。
11.什么情况下你使用singleton和prototype?
Singleton适合用在无状态的bean里面, prototype, 适合用在有状态的bean里面。
12.Spring支持几种事务管理方式?
一共两种, 程序化的事务管理和声明性的事务管理。
13.jdbc模板的好处是什么?
代码量减少了。你不是需要关心数据库链接, 声明,事务开始, 提交事务,关闭连接这些事情,你可以直接对查询进行操作了。
14.jdbc相关的应用程序接口类有哪些?
JdbcTemplate, SimpleJdbcTemplate, NamedParameterJdbcTemplate, SimpleJdbcInsert, SimpleJdbcCall.
15.你如何用jdbc模板获取记录?
可以使用查询方法来获取记录。有两个接口可以使用, ResultSetExtractor, RowMapper。
16.NamedParameterJdbcTemplate的优势是什么?
最大的优势就是容易记忆,它支持传值给有名字的参数。
17.SimpleJdbcTemplate的优势是什么?
它的优势是支持可变参数和autoboxing。
18.什么是aop?
Aop就是面向任务或者概念的编程技术。
19.aop的好处是什么?
aop允许你在业务逻辑之前或之后添加或删除功能, 维护方便。
20.aop有哪些术语?
JoinPoint, Advice, PointCut, Aspect, Introduction, Target Object, Intercepter, Aop Proxy, Weaving.
21.什么是joinpoint?
Join point是指你程序中任何一个访问点, 比如成员的访问, 方法的运行,异常处理等等。
22.Spring是否支持所有的join points?
答案是否定的,spring只支持方法运行的join point。
23.什么是advice?
Advice是任务所采取的行动。
24.在aop中有几种advice?
Before advice, after advice, after returning advice , throws advice, around advice.
25.什么是point cut?
Point cut是aop的表达语言。
26.什么是aspect?
Aspect是aop中包含advices和join points的类。
27.什么是introduction?
Introduction是对一个类型的成员和方法的介绍。
28.什么是Target object?
Target object是一个和多个aspects的代理对象。
29.什么是interceptor?
Intercepter是只包含一个advice的类。
30.什么是weaving?
weaving是连接另一个程序的aspect的一个进程。
31.spring是否在编译时期执行weaving?
不会,spring只在运行期间执行weaving。
32.什么是aop的实现?
有三种实现,spring aop, apache aspectj, jboss aop.
33.Spring mvc的前端控制器类是什么?
Dispatcher servlet.
34.Controller注释是干什么的?
Controller注释是为了标明一个controller类。
35.request mapping注释的作用是什么?
request mapping是为了标明一个方法的请求属性。
36.viewresolver是干什么的?
是为了根据请求调用对应的视图组件。他是通过前缀和后缀属性来对应视图组件的。
37.哪种view resolver用的比较多?
Internal resource view resolver, 用的比较多。
38.Spring mvc是否支持有效性验证?
答案为是。
上面只是我个人对这个话题的一点心得体会,分享给大家,希望与大家讨论,共同提高,另外我也整理了一些Java学习笔记+面试资料,需要的可【点击此处】获取
以上是关于2021最新38道Spring大厂面试题,你碰到过哪道?的主要内容,如果未能解决你的问题,请参考以下文章
大牛耗时三天整理的BAT一线互联网大厂2021年春招最新面试题大全
<面试必过系列>2021最新spring全家桶系列面试题100道附解答资料