- 2022银行春招笔试结束,农行招聘成绩多久出?怎(6-6)
- 2022年的银行春季校园招聘笔试阶段虽已逐步落幕,然而众多求职者对于银行招聘的相关事宜仍存诸多疑问
一、Spring面试题
1、Spring 在ssm中起什么作用?
Spring:轻量级框架
作用:Bean工厂,用来管理Bean的生命周期和框架集成。
两大核心:
IOC/DI(控制反转/依赖注入)机制中,DAO层被注入到Service层,而Service层再将依赖传递给Action层,整个Spring框架的顶层容器由BeanFactory来管理。
②. AOP:面向切面编程
2、Spring的事务?
编程式事务管理:编程方式管理事务,极大灵活性,难维护。
声明式事务处理:此方法允许将业务逻辑代码与事务控制机制分离开来,通过使用注释和XML文件进行事务的配置和管理。
3、IOC 在项目中的作用?
Ioc技术能够有效处理对象间的依赖关系,通过配置文件或注解的方式将各个Bean之间的依赖关系进行关联,从而显著减少了它们之间的耦合程度。
4、Spring的配置文件中的内容?
开启事务注解驱动
事务管理器
开启注解功能,并配置扫描包
配置数据库
配置SQL会话工厂,别名,映射文件
不用编写Dao层的实现类
5、Spring下的注解?
注册时,需标注为控制器(@Controller)、服务(@Service)或组件(@Component)。
注入:@Autowired @Resource
请求地址:@RequestMapping
返回具体数据类型而非跳转:@ResponseBody
6、Spring DI 的三种方式?
构造器注入:通过构造方法初始化
setter方法注入:通过setter方法初始化
接口注入
7、Spring主要使用了什么模式?
工厂模式:每个Bean的创建通过方法
单例模式:默认的每个Bean的作用域都是单例
代理模式:关于Aop的实现通过代理模式
8、IOC,AOP的实现原理?
IOC:通过反射机制生成对象注入
AOP:动态代理
二、SpringMvc面试题
SpringMvc中的控制器是否采用单例模式,若为单例,又可能存在哪些弊端,以及如何进行有效应对?
问题:单例模式,在多线程访问时有线程安全问题
解决方法:不要用同步,在控制器里面不能写字段
2、SpringMvc 中控制器的注解?
@Controller:该注解表明该类扮演控制器的角色
3、@RequestMapping 注解用在类上的作用?
作用:用来映射一个URL到一个类或者一个特定的处理方法上
4、前台多个参数,这些参数都是一个对象,快速得到对象?
在方法内部明确指定该对象的创建,SpringMvc将自动将相关属性注入至该对象之中。
5、SpringMvc中函数的返回值?
字符串、模型视图、列表、集合等。
一般String,Ajax请求,返回一个List集合
6、SpringMvc中的转发和重定向?
转发:return:“hello”
重定向操作:返回“请访问hello.jsp页面”的跳转指令。
7、SpringMvc和Ajax之间的相互调用?
运用JackSon框架,将Java中的对象直接转化为JavaScript能够识别的JSON格式对象,具体操作步骤包括:
加入JackSon.jar
在配置文件中配置json的映射
在调用Ajax方法时,若需直接输出Object、list等数据类型,应在方法定义前附加注解@ResponseBody。
8、SpringMvc的工作流程图?

9、Struts2 和 SpringMvc的区别?
入口不同:
Struts2:filter过滤器
SpringMvc:一个Servlet即前端控制器
开发方式不同:
Struts2系统采用类作为开发基础,参数传递依赖于类的属性,且该系统仅支持多例模式设置。
SpringMvc框架采用方法驱动模式,每个URL对应一个具体的方法;在方法中接收请求参数,这些参数可通过形参接收;同时,该框架支持单例模式或多例模式,其中推荐使用单例模式。
请求方式不同:
Struts2框架中,对于村塾请求与响应过程中的数据,主要依赖于OGNL(Object-Graph Navigation Language)进行数据的存取操作。
SpringMvc通过参数解析器对请求内容进行解析,并为方法形参分配值。接着,它将数据与视图封装成ModelAndView对象。最终,ModelAndView中的模型数据被传输到页面。值得注意的是,jsp视图解析器默认采用的是jstl。
三、Mybatis面试题
1、Ibatis和Mybatis?
2010年,Apache的Ibatis框架终止了更新,并将维护权转交给了Google团队,同时改名为MyBatis。自此,Ibatis自2010年起便未再进行更新,逐渐沦为一个被遗弃的框架。一个无人照料的框架注定会被MyBatis所淘汰。
Mybatis:Ibatis的升级版本。
2、什么是Mybatis的接口绑定,有什么好处?
Mybatis将DAO接口与XML映射文件进行关联,从而自动生成了接口的具体实现,使得使用过程变得更加简便快捷。
3、什么情况用注解,什么情况用xml绑定?
注解使用情况:Sql语句简单时
XML的绑定应用广泛:通过使用@RequestMap功能,可以实现对XML文件的绑定操作。
4、Mybatis在核心处理类叫什么?
SqlSession
5、查询表名和返回实体Bean对象不一致,如何处理?
映射键值对即可
column:数据库中表的列名
property:实体Bean中的属性名
6、Mybatis的好处?
把Sql语句从Java中独立出来。
底层JDBC进行了封装,API调用得以实现,同时,结果集能够自动转化为JavaBean对象,这一过程大大简化了Java数据库编程中的重复劳动。
自己编写Sql语句,更加的灵活。
入参无需用对象封装(或者map封装),使用@Param注解
7、Mybatis配置一对多?
property:属性名
column:共同列
ofType:集合中元素的类型
select:要连接的查询
8、Mybatis配置一对一?
property:属性名
select:要连接的查询
column:共同列
javaType:集合中元素的类型
9 、${} 和 #{}的区别?
进行字符串替换操作时,直接将变量值填入相应的${}位置,不进行任何形式的转换,此过程是在获取变量值后再对SQL语句进行编译。
在预编译处理过程中,我们采用#{}符号进行标识,以在SQL语句中将#{}替换为问号?,从而完成预编译语句的补全。这样的做法能够有效防止SQL注入攻击,因为这种取值方式是在SQL语句编译完成后进行值填充的。
总结:一般用#{}来进行列的代替
10、获取上一次自动生成的主键值?
select last _insert_id()
11、Mybatis如何分页,分页原理?
RowBounds对象分页
在Sql内直接书写,带有物理分页
12、Mybatis工作原理?
构建过程涉及使用SqlSessionFactoryBuilder,该工具从mybatis-config.xml配置文件中生成SqlSessionFactory。
SqlSessionFactory启动一个SqlSession,借助SqlSession实例获取Mapper实体,进而执行Mapper所映射的SQL语句。
执行完对数据库的增删改查操作以及事务的提交,随后关闭SqlSession连接。
最终,我本人是一位拥有多年Java开发经验的资深程序员,现已离职,目前正专注于开设个人的Java定制课程。在今年年初,我投入了一个月的时间,精心整理了一套针对2019年学习最为实用的Java学习资料。这份资料现在可以赠送给所有热爱Java的朋友们,有兴趣的朋友只需关注我的头条账号,然后在后台发送私信“01”,便可免费获得。
温馨提示:本内容地址http://m.ysjob.cc/article/articledetail-338511.html转载请注明,以上Spring面试题大揭秘:其在ssm中的作用、事务及IOC详解资讯信息来自颍上人才网(颍上地区最大的颍上人才网,颍上人才网)