百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Spring的面试不用愁,看完这38道题再去

ccwgpt 2024-11-05 09:42 34 浏览 0 评论

?

Spring的面试不用愁,看完这38道题再去




大家好,这一期呢,我们说38道spring的面试题。

第1道: 什么是spring?

Spring是基于Java语言的轻量型,松耦合的集成开发框架。

第2道: spring给我们带来了什么好处?

好处有下面几个,

1是预先定义的模板, 省去了我们自己添加的时间。

2是松耦合。

3是容易测试。

4是轻量级。

5是开发快捷。

6是强大的抽象化。

7是声明性的支持。

第3道,spring中的模块儿有哪些?

模块包括1是测试。2是核心容器。3是面向特征的编程方式。4是数据访问与集成。5是网络开发模块。

第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是否支持有效性验证?

答案为是。

上面只是我个人对这个话题的一点心得体会,分享给大家,希望与大家讨论,共同提高,欢迎拍砖

相关推荐

一个基于.Net Core遵循Clean Architecture原则开源架构

今天给大家推荐一个遵循CleanArchitecture原则开源架构。项目简介这是基于Asp.netCore6开发的,遵循CleanArchitecture原则,可以高效、快速地构建基于Ra...

AI写代码翻车无数次,我发现只要提前做好这3步,bug立减80%

写十万行全是bug之后终于找到方法了开发"提示词管理助手"新版本那会儿,我差点被bug整崩溃。刚开始两周,全靠AI改代码架构,结果十万行程序漏洞百出。本来以为AI说没问题就稳了,结果...

OneCode低代码平台的事件驱动设计:架构解析与实践

引言:低代码平台的事件驱动范式在现代软件开发中,事件驱动架构(EDA)已成为构建灵活、松耦合系统的核心范式。OneCode低代码平台通过创新性的注解驱动设计,将事件驱动理念深度融入平台架构,实现了业务...

国内大厂AI插件评测:根据UI图生成Vue前端代码

在IDEA中安装大厂的AI插件,打开ruoyi增强项目:yudao-ui-admin-vue31.CodeBuddy插件登录腾讯的CodeBuddy后,大模型选择deepseek-v3,输入提示语:...

AI+低代码技术揭秘(二):核心架构

本文档介绍了为VTJ低代码平台提供支持的基本架构组件,包括Engine编排层、Provider服务系统、数据模型和代码生成管道。有关UI组件库和widget系统的信息,请参阅UI...

GitDiagram用AI把代码库变成可视化架构图

这是一个名为gitdiagram的开源工具,可将GitHub仓库实时转换为交互式架构图,帮助开发者快速理解代码结构。核心功能一键可视化:替换GitHubURL中的"hub...

30天自制操作系统:第六天:代码架构整理与中断处理

1.拆开bootpack.c文件。根据设计模式将对应的功能封装成独立的文件。2.初始化pic:pic(可编程中断控制器):在设计上,cpu单独只能处理一个中断。而pic是将8个中断信号集合成一个中断...

AI写代码越帮越忙?2025年研究揭露惊人真相

近年来,AI工具如雨后春笋般涌现,许多人开始幻想程序员的未来就是“对着AI说几句话”,就能轻松写出完美的代码。然而,2025年的一项最新研究却颠覆了这一期待,揭示了一个令人意外的结果。研究邀请了16位...

一键理解开源项目:两个自动生成GitHub代码架构图与说明书工具

一、GitDiagram可以一键生成github代码仓库的架构图如果想要可视化github开源项目:https://github.com/luler/reflex_ai_fast,也可以直接把域名替换...

5分钟掌握 c# 网络通讯架构及代码示例

以下是C#网络通讯架构的核心要点及代码示例,按协议类型分类整理:一、TCP协议(可靠连接)1.同步通信//服务器端usingSystem.Net.Sockets;usingTcpListene...

从复杂到优雅:用建造者和责任链重塑代码架构

引用设计模式是软件开发中的重要工具,它为解决常见问题提供了标准化的解决方案,提高了代码的可维护性和可扩展性,提升了开发效率,促进了团队协作,提高了软件质量,并帮助开发者更好地适应需求变化。通过学习和应...

低代码开发当道,我还需要学习LangChain这些框架吗?| IT杂谈

专注LLM深度应用,关注我不迷路前两天有位兄弟问了个问题:当然我很能理解这位朋友的担忧:期望效率最大化,时间用在刀刃上,“不要重新发明轮子”嘛。铺天盖地的AI信息轰炸与概念炒作,很容易让人浮躁与迷茫。...

框架设计并不是简单粗暴地写代码,而是要先弄清逻辑

3.框架设计3.框架设计本节我们要开发一个UI框架,底层以白鹭引擎为例。框架设计的第一步并不是直接撸代码,而是先想清楚设计思想,抽象。一个一个的UI窗口是独立的吗?不是的,...

大佬用 Avalonia 框架开发的 C# 代码 IDE

AvalonStudioAvalonStudio是一个开源的跨平台的开发编辑器(IDE),AvalonStudio的目标是成为一个功能齐全,并且可以让开发者快速使用的IDE,提高开发的生产力。A...

轻量级框架Lagent 仅需20行代码即可构建自己的智能代理

站长之家(ChinaZ.com)8月30日消息:Lagent是一个专注于基于LLM模型的代理开发的轻量级框架。它的设计旨在简化和提高这种模型下代理的开发效率。LLM模型是一种强大的工具,可以...

取消回复欢迎 发表评论: