Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java SSM 框架面试,附答案!!!

Java SSM 框架面试,附答案!!!

作者头像
好好学java
发布于 2019-10-22 06:29:49
发布于 2019-10-22 06:29:49
1.2K00
代码可运行
举报
运行总次数:0
代码可运行

作者:唐_方

链接:https://blog.csdn.net/qq_39031310

一、Spring面试题

1、Spring 在ssm中起什么作用?
  • Spring:轻量级框架
  • 作用:Bean工厂,用来管理Bean的生命周期和框架集成。
  • 两大核心:1、IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,service层反转给action层,Spring顶层容器为BeanFactory。2、AOP:面向切面编程
2、Spring的事务?
  • 编程式事务管理:编程方式管理事务,极大灵活性,难维护。
  • 声明式事务管理:可以将业务代码和事务管理分离,用注解和xml配置来管理事务。
3、IOC 在项目中的作用?

作用:Ioc解决对象之间的依赖问题,把所有Bean的依赖关系通过配置文件或注解关联起来,降低了耦合度。

4、Spring的配置文件中的内容?
  • 开启事务注解驱动
  • 事务管理器
  • 开启注解功能,并配置扫描包
  • 配置数据库
  • 配置SQL会话工厂,别名,映射文件
  • 不用编写Dao层的实现类
5、Spring下的注解?
  • 注册:@Controller @Service @Component
  • 注入:@Autowired @Resource
  • 请求地址:@RequestMapping
  • 返回具体数据类型而非跳转:@ResponseBody
6、Spring DI 的三种方式?

构造器注入:通过构造方法初始化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<constructor-arg index="0" type="java.lang.String" value="宝马"></constructor-arg>

setter方法注入:通过setter方法初始化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<property name="id" value="1111"></property>

接口注入

7、Spring主要使用了什么模式?
  • 工厂模式:每个Bean的创建通过方法
  • 单例模式:默认的每个Bean的作用域都是单例
  • 代理模式:关于Aop的实现通过代理模式
8、IOC,AOP的实现原理?
  • IOC:通过反射机制生成对象注入
  • AOP:动态代理

二、SpringMvc面试题

1、SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决?
  • 问题:单例模式,在多线程访问时有线程安全问题
  • 解决方法:不要用同步,在控制器里面不能写字段
2、SpringMvc 中控制器的注解?

@Controller:该注解表明该类扮演控制器的角色

3、@RequestMapping 注解用在类上的作用?

作用:用来映射一个URL到一个类或者一个特定的处理方法上

4、前台多个参数,这些参数都是一个对象,快速得到对象?

方法:直接在方法中声明这个对象,SpringMvc就自动把属性赋值到这个对象里面

5、SpringMvc中函数的返回值?

String,ModelAndView,List,Set 等

一般String,Ajax请求,返回一个List集合

6、SpringMvc中的转发和重定向?
  • 转发:return:“hello”
  • 重定向 :return:“redirect:hello.jsp”
7、SpringMvc和Ajax之间的相互调用?

通过JackSon框架把java里面对象直接转换成js可识别的json对象,具体步骤如下:

  • 加入JackSon.jar
  • 在配置文件中配置json的映射
  • 在接受Ajax方法里面直接返回Object,list等,方法前面需要加上注解@ResponseBody
8、SpringMvc的工作流程图?
9、Struts2 和 SpringMvc的区别?
入口不同:
  • Struts2:filter过滤器
  • SpringMvc:一个Servlet即前端控制器
开发方式不同:
  • Struts2:基于类开发,传递参数通过类的属性,只能设置为多例
  • SpringMvc:基于方法开发(一个url对应一个方法),请求参数传递到方法形参,可以为单例也可以为多例(建议单例)
请求方式不同:
  • Struts2:值栈村塾请求和响应的数据,通过OGNL存取数据
  • SpringMvc:通过参数解析器将request请求内容解析,给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过request域传输到页面,jsp视图解析器默认使用的是jstl。

三、Mybatis面试题

1、Ibatis和Mybatis?
  • Ibatis:2010年,apache的Ibatis框架停止更新,并移交给了google团队,同时更名为MyBatis。从2010年后Ibatis在没更新过,彻底变成了一个孤儿框架。一个没人维护的框架注定被mybatis拍在沙滩上。
  • Mybatis:Ibatis的升级版本。
2、什么是Mybatis的接口绑定,有什么好处?

Mybatis实现了DAO接口与xml映射文件的绑定,自动为我们生成接口的具体实现,使用起来变得更加省事和方便。

3、什么情况用注解,什么情况用xml绑定?
  • 注解使用情况:Sql语句简单时
  • xml绑定使用情况:xml绑定 (@RequestMap用来绑定xml文件)
4、Mybatis在核心处理类叫什么?

SqlSession

5、查询表名和返回实体Bean对象不一致,如何处理?

映射键值对即可

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<result column="title" property="title" javaType="java.lang.String"/>
  • column:数据库中表的列名
  • property:实体Bean中的属性名
6、Mybatis的好处?
  • 把Sql语句从Java中独立出来。
  • 封装了底层的JDBC,API的调用,并且能够将结果集自动转换成JavaBean对象,简化了Java数据库编程的重复工作。
  • 自己编写Sql语句,更加的灵活。
  • 入参无需用对象封装(或者map封装),使用@Param注解
7、Mybatis配置一对多?
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<collection property="topicComment" column="id" 
ofType="com.tmf.bbs.pojo.Comment" select="selectComment" />
  • property:属性名
  • column:共同列
  • ofType:集合中元素的类型
  • select:要连接的查询
8、Mybatis配置一对一?
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<association property="topicType" select="selectType" 
column="topics_type_id" javaType="com.tmf.bbs.pojo.Type"/>
  • property:属性名
  • select:要连接的查询
  • column:共同列
  • javaType:集合中元素的类型
9 、${} 和 #{}的区别?
  • ${}:简单字符串替换,把${}直接替换成变量的值,不做任何转换,这种是取值以后再去编译SQL语句。
  • #{}:预编译处理,sql中的#{}替换成?,补全预编译语句,有效的防止Sql语句注入,这种取值是编译好SQL语句再取值。
总结:一般用#{}来进行列的代替
10、获取上一次自动生成的主键值?
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select last _insert_id()
11、Mybatis如何分页,分页原理?
  • RowBounds对象分页
  • 在Sql内直接书写,带有物理分页
12、Mybatis工作原理?
原理:
  • 通过SqlSessionFactoryBuilder从mybatis-config.xml配置文件中构建出SqlSessionFactory。
  • SqlSessionFactory开启一个SqlSession,通过SqlSession实例获得Mapper对象并且运行Mapper映射的Sql语句。
  • 完成数据库的CRUD操作和事务提交,关闭SqlSession。

四、结语

前面如有不正确的地方还希望大家多多指教,希望和志同道合的朋友一起学习,一起进步,先更新到这里,下次继续补充。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 好好学java 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
解决训练难题,1000层的Transformer来了,训练代码很快公开
机器之心报道 机器之心编辑部 1000 层的 Transformer,深得吓人。 昨日出炉的论文《DeepNet: Scaling Transformers to 1,000 Layers》在研究社区引起了热议,作者来自微软亚洲研究院。 该研究直接把 Transformer 深度提升到 1000 层! 下面让我们看下这篇研究说了什么。 近年来,大规模 Transformer 模型出现了这样一种趋势:随着模型参数从数百万增加至数十亿甚至数万亿,性能相应地实现了显著提升。大规模模型在一系列任务上都取得了 SOT
机器之心
2022/03/04
8410
千层Transformer问世!多语种机器翻译水准刷新多项SOTA
---- 新智元报道   编辑:David 拉燕 【新智元导读】近日,微软研究院的研究人员搞出了一个1000层的Transformer,在多语种机器翻译任务上刷新多项SOTA 近年来,追求大规模的Transformer模型成为了一种潮流。 从一开始的百万级的模型参数,到十亿级,再到万亿级,参数规模极大增加。大规模的模型可以在大量任务中可以有更棒的表现,在小样本和零样本学习的情况下也展现出了出色的能力。尽管参数的数量越来越大,参数的深度却一直在被Transformer训练的不稳定性所局限。2019年,科
新智元
2022/03/09
4690
从零开始入门——Transformer模型简介
Transformer是2017年由Google团队在论文《Attention Is All You Need》中提出的一种全新的神经网络架构,主要用于自然语言处理领域,后也广泛应用在计算机视觉等领域。本文将系统地介绍Transformer的背景、结构设计、训练方法以及应用,让大家从零开始了解这一划时代的新型网络结构。
Paulette
2023/07/12
2.7K0
微软提出DeepNet:把Transformer提升到了1000层,目标检测领域新的希望(附源代码)
关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 论文地址:https://arxiv.org/pdf/2203.00555.pdf 源代码:https://github.com/microsoft/unilm 计算机视觉研究院专栏 作者:Edison_G 提出了一种简单而有效的方法来稳定(训练和解码)极深的Transformer。具体来说,引入了一个新的归一化函数(DEEPNORM),修改Transformer中的残差连接
计算机视觉研究院
2022/03/30
6830
千层Transformer问世!刷新NMT多项SOTA!
点击 机器学习算法与Python学习 ,选择加星标 精彩内容不迷路 ---- 新智元报道   近日,微软研究院的研究人员搞出了一个1000层的Transformer,在多语种机器翻译任务上刷新多项SOTA 从一开始的百万级的模型参数,到十亿级,再到万亿级,参数规模极大增加。大规模的模型可以在大量任务中可以有更棒的表现,在小样本和零样本学习的情况下也展现出了出色的能力。尽管参数的数量越来越大,参数的深度却一直在被Transformer训练的不稳定性所局限。2019年,科学家Nguyen和Salaz
昱良
2022/03/08
3460
Transformer介绍
随着人工智能技术的加速演进,AI大模型已成为全球科技竞争的新高地。Transformer作为大模型的核心技术之一,正在推动整个AI产业的发展。
@小森
2024/06/13
2860
Transformer介绍
通吃BERT、GPT-2,用TF 2.0实现谷歌破世界纪录的机器翻译模型Transformer
Transformer是谷歌在2017年提出的一个革新性的NLP框架,相信大家对那篇经典论文吸睛的标题仍印象深刻:Attention Is All You Need。
新智元
2019/08/20
8760
通吃BERT、GPT-2,用TF 2.0实现谷歌破世界纪录的机器翻译模型Transformer
NLP界最强特征提取器--Transformer
前面介绍NLP领域词向量技术的时候提到了目前最炙手可热的语言模型BERT,而BERT之所以能取得这样的瞩目成就,离不开其采用的超强特征提取器Transformer。
流川枫
2020/04/24
5.1K0
《基于 C++的神经机器翻译模型:训练与优化之道》
在当今全球化的时代,语言障碍的突破成为了促进国际交流与合作的关键。神经机器翻译(NMT)作为一项前沿技术,在自动翻译领域展现出了卓越的性能。而 C++以其高效性和对系统资源的精准掌控,在构建和优化神经机器翻译模型方面有着独特的地位。本文将深入探讨基于 C++的神经机器翻译模型的训练和优化方法。
程序员阿伟
2024/12/13
990
《基于 C++的神经机器翻译模型:训练与优化之道》
【调研】详解Transformer结构——Attention Is All You Need
        Transformer是一个完全依赖自注意力的面向sequence to sequence任务的NLP模型,由谷歌大脑在17年的论文《Attention is all you need》中首次提出。它抛弃了传统的CNN和RNN神经网络,整个网络结构完全由Attention机制以及前馈神经网络组成,它解决了RNN长期依赖和无法并行化以及CNN缺失全局特征等问题。(尽管LSTM等门机制的结构一定程度上缓解了长期依赖的问题,但是对于特别长期的依赖现象,LSTM依旧无能为力。)
小锋学长生活大爆炸
2022/10/28
1.3K0
万字长文带你入门Transformer
Transformer在许多的人工智能领域,如自然语言处理(Natural Language Processing, NLP)、计算机视觉(Computer Vision, CV)和语音处理(Speech Processing, SP)取得了巨大的成功。因此,自然而然的也吸引了许多工业界和学术界的研究人员的兴趣。到目前为止,已经提出了大量基于Transformer的相关工作和综述。本文基于邱锡鹏[1]老师团队近日所发表的一篇综述[2]为基础,详细的解读Transformer的来龙去脉,同时为大家介绍近期一些相关工作,中间也会穿插一些笔者的见解。最后,本文也将列出一些可探索的未来研究方向,希望能给予读者一些启发。
AIWalker
2021/07/05
2.3K0
万字长文带你入门Transformer
原创 | 一文读懂Transformer
作者:陈之炎 本文约3500字,建议阅读7分钟Transformer 是第一个完全依赖于自注意力机制来计算其输入和输出的表示的转换模型。 主流的序列到序列模型是基于编码器-解码器的循环或卷积神经网络,注意力机制的提出,优化了编解码器的性能,从而使得网络性能达到最优。利用注意力机制构建出新的网络架构Transformer, 完胜了循环或卷积神经网络。Transformer 是第一个完全依赖于自注意力机制来计算其输入和输出的表示的转换模型。Transformer可以并行训练,训练时间更短。 1 Transfor
数据派THU
2022/07/12
4.4K0
原创 | 一文读懂Transformer
Transformer_ 现代自然语言处理的基石
在自然语言处理(NLP)的领域中,Transformer 模型因其卓越的性能和广泛的应用而备受关注。自 2017 年被引入以来,Transformer 已经成为现代 NLP 系统的核心架构。本文将详细探讨 Transformer 模型的工作原理、核心组件及其在 NLP 任务中的应用。
DevKevin
2024/08/17
1920
如何用深度学习做自然语言处理?这里有份最佳实践清单
选自ruder.io 机器之心编译 参与:机器之心编辑部 对于如何使用深度学习进行自然语言处理,本文作者 Sebastian Ruder 给出了一份详细的最佳实践清单,不仅包括与大多数 NLP 任务相关的最佳实践,还有最常见任务的最佳实践,尤其是分类、序列标注、自然语言生成和神经机器翻译。作者对最佳实践的选择很严格,只有被证明在至少两个独立的群体中有益的实践才会入选,并且每个最佳实践作者至少给出两个参引。作者承认这份清单并不全面,比如其不熟悉的解析、信息提取等就没有涉及。机器之心对该文进行了编译,原文链接请
机器之心
2018/05/09
8070
如何用深度学习做自然语言处理?这里有份最佳实践清单
硬货 | 一文了解深度学习在NLP中的最佳实践经验和技巧
编译 | AI科技大本营(rgznai100) 参与 | JeyZhang,鸽子 在NLP社区中曾流行着这样一个玩笑,说是一个带注意力机制的LSTM模型在任何的NLP任务上的表现都是最好的。虽然这在过去的两年中确实如此,但这个模型已经成为了现在标准的baseline,随着NLP社区的逐步发展,大家开始转向使用其他更加有趣的模型。 不过,本文作者不想独自花费2年的时间去发掘下一个带注意力机制的LSTM模型,也不想去推翻现有效果好的一些技巧或方法。虽然许多现有的深度学习库已经考虑了神经网络实践方面的最佳实践
AI科技大本营
2018/04/26
8600
硬货 | 一文了解深度学习在NLP中的最佳实践经验和技巧
一些NLP的面试问题
练习NLP是一回事,破解面试是另一回事。对NLP人员的面试与一般的数据科学非常不同。在短短几年内,由于迁移学习和新的语言模型,这些问题已经完全改变了。我个人经历过,随着时间的推移,NLP面试变得越来越艰难,因为我们取得了更多的进步。
石晓文
2020/02/24
1K0
一些NLP的面试问题
把Transformer加深几倍,会怎么样?
更深层次的模型有助于更好地表达特性;在计算机视觉以及分本分类任务上,已经有成功案例。但是在机器翻译领域,目前标准的Transformer模型,仅仅有6层。 论文《Very Deep Transformers for Neural Machine Translation》将标准的Transfomer模型encoder加深至60层,decoder加深至12层。这些深层模型比基线模型的性能更优,并在WMT14 EnglishFrench和WMT14 EnglishGerman上达到了SOTA。
AI科技评论
2020/09/04
1.8K0
全领域涨点 | Transformer携Evolving Attention在CV与NLP领域全面涨点(文末送书)
Transformer是一种普遍存在于自然语言处理的模型,近期在计算机视觉领域引起了广泛关注。而Attention map主要用来编码input tokens之间的依赖关系,其对于一个Transformer模型来说是必不可少的。然而,它们在每一层都是独立学习的,有时无法捕获精确的模式。
集智书童公众号
2021/05/28
7200
【DL】Self-Attention与Transformer
答:编码器-解码器(Encoder-Decoder)模型最初是由Cho等提出应用在机器翻译中。由于在机器翻译中是文本到文本的转换,比如将法语翻译成英语,Sutskever等也称编码器-解码器模型为序列到序列学习(Seq2Seq)。
yuquanle
2020/02/25
1.1K0
【谷歌机器翻译破世界纪录】仅用Attention模型,无需CNN和RNN
【新智元导读】 谷歌在机器翻译上的一项最新研究:仅使用注意力机制构建模型,不需要CNN和RNN。作者称,在机器翻译上这一模型效果超越了当下所有公开发表的机器翻译模型,在BLUE上取得创纪录的成绩。训练速度和效率上: 8 颗 P100 GPU 上3.5 天完成训练。该研究可以看成是对Facebook此前机器翻译突破的回应:不久前,Facebook发布了基于卷积神经网络的方法,取得了当时最高准确度,并且速度是谷歌基于循环神经网络(RNN)系统的9倍。 谷歌大脑、谷歌研究院和多伦多大学学者合作的一项新研究称,使用
新智元
2018/03/28
1.1K0
【谷歌机器翻译破世界纪录】仅用Attention模型,无需CNN和RNN
推荐阅读
相关推荐
解决训练难题,1000层的Transformer来了,训练代码很快公开
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验