1、Spring面试题
一、Spring 在ssm中起什么做用?
二、Spring的事务?
三、IOC 在项目中的做用?
做用:Ioc解决对象之间的依赖问题,把全部Bean的依赖关系经过配置文件或注解关联起来,下降了耦合度。
四、Spring的配置文件中的内容?
-
开启事务注解驱动
-
事务管理器
-
开启注解功能,并配置扫描包
-
配置数据库
-
配置SQL会话工厂,别名,映射文件
-
不用编写Dao层的实现类
五、Spring下的注解?
六、Spring DI 的三种方式?
<constructor-arg
index
=
"0"
type
=
"java.lang.String"
value
=
"宝马"
></constructor-arg>
复制代码
<property
name
=
"id"
value
=
"1111"
></property>
复制代码
七、Spring主要使用了什么模式?
-
工厂模式:每一个Bean的建立经过方法
-
单例模式:默认的每一个Bean的做用域都是单例
-
代理模式:关于Aop的实现经过代理模式
八、IOC,AOP的实现原理?
-
IOC:经过反射机制生成对象注入
-
AOP:动态代理
2、SpringMvc面试题
一、SpringMvc 的控制器是否是单例模式,若是是,有什么问题,怎么解决?
-
问题:单例模式,在多线程访问时有线程安全问题
-
解决方法:不要用同步,在控制器里面不能写字段
二、SpringMvc 中控制器的注解?
@Controller:该注解代表该类扮演控制器的角色
三、@RequestMapping 注解用在类上的做用?
做用:用来映射一个URL到一个类或者一个特定的处理方法上
四、前台多个参数,这些参数都是一个对象,快速获得对象?
方法:直接在方法中声明这个对象,SpringMvc就自动把属性赋值到这个对象里面
五、SpringMvc中函数的返回值?
String,ModelAndView,List,Set 等
通常String,Ajax请求,返回一个List集合
六、SpringMvc中的转发和重定向?
七、SpringMvc和Ajax之间的相互调用?
经过JackSon框架把java里面对象直接转换成js可识别的json对象,具体步骤以下:
八、SpringMvc的工做流程图?
九、Struts2 和 SpringMvc的区别?
3、Mybatis面试题
一、Ibatis和Mybatis?
二、什么是Mybatis的接口绑定,有什么好处?
Mybatis实现了DAO接口与xml映射文件的绑定,自动为咱们生成接口的具体实现,使用起来变得更加省事和方便。
三、什么状况用注解,什么状况用xml绑定?
四、Mybatis在核心处理类叫什么?
五、查询表名和返回实体Bean对象不一致,如何处理?
<result
column
=
"title"
property
=
"title"
javaType
=
"java.lang.String"
/>
复制代码
-
column:数据库中表的列名
-
property:实体Bean中的属性名
六、Mybatis的好处?
七、Mybatis配置一对多?
<collection
property
=
"topicComment"
column
=
"id"
ofType
=
"com.tmf.bbs.pojo.Comment"
select
=
"selectComment"
/>
复制代码
-
property:属性名
-
column:共同列
-
ofType:集合中元素的类型
-
select:要链接的查询
八、Mybatis配置一对一?
<association
property
=
"topicType"
select
=
"selectType"
column
=
"topics_type_id"
javaType
=
"com.tmf.bbs.pojo.Type"
/>
复制代码
-
property:属性名
-
select:要链接的查询
-
column:共同列
-
javaType:集合中元素的类型
9 、${} 和 #{}的区别?
十、获取上一次自动生成的主键值?
select
last
_insert_id()
复制代码
十一、Mybatis如何分页,分页原理?
-
RowBounds对象分页
-
在Sql内直接书写,带有物理分页
十二、Mybatis工做原理?
-
经过SqlSessionFactoryBuilder从mybatis-config.xml配置文件中构建出SqlSessionFactory。
-
SqlSessionFactory开启一个SqlSession,经过SqlSession实例得到Mapper对象而且运行Mapper映射的Sql语句。
-
完成数据库的CRUD操做和事务提交,关闭SqlSession。
最后
欢迎你们关注个人公众号【程序员追风】,文章都会在里面更新,整理的资料也会放在里面。