1.Spring中Bean的作用域有几种?
5种
singleton:单例模式,在整个Spring IoC容器中,使用singleton定义的Bean将只有一个实例
prototype:原型模式,每次通过容器的getBean方法获取prototype定义的Bean时,都将产生一个新的Bean实例
request:对于每次HTTP请求,使用request定义的Bean都将产生一个新实例,即每次HTTP请求将会产生不同的Bean实例。只有在Web应用中使用Spring时,该作用域才有效
session:对于每次HTTP Session,使用session定义的Bean豆浆产生一个新实例。同样只有在Web应用中使用Spring时,该作用域才有效
globalsession:每个全局的HTTP Session,使用session定义的Bean都将产生一个新实例。典型情况下,仅在使用portlet context的时候有效。同样只有在Web应用中使用Spring时,该作用域才有效
https://www.cnblogs.com/goody9807/p/7472127.html
2.Spring自动装配Bean的方式有哪些?
6种
Default—— 在每个bean中都一个autowire=default的默认配置它的含义是:采用beans和跟标签中的default-autowire="属性值"一样的设置。
no —— 默认情况,自动装配方式为手动装配,即通过ref手动设定
byName —— 根据属性名称自动装配,如果一个bean的名称和其他bean属性一致,则进行自动装配
byType——按照数据类型进行自动装配,如果一个bean的名称和其他bean的属性的数据类型一致,则进行兼容并自动装配
constructor ——通过构造函数参数的byType方式。
autodetect —— 如果找到默认的构造函数,使用“自动装配用构造”; 否则,使用“按类型自动装配”。
https://www.cnblogs.com/zlingchao/p/9405110.html
https://javawangli.iteye.com/blog/1010764
3.Spring AOP 几种通知类型?
5种
Before, after, after-throwing, after-returnning, around
https://www.cnblogs.com/chuijingjing/p/9806651.html
4.Spring AOP切点的含义是什么?请书写一个切点表达式。
切点定义了在何处定义切面,AOP通过“切点”定位特定的连接点,切点相当于查询条件,一个切点可以匹配多个连接点。
Execution(* *(..))

https://www.cnblogs.com/zjdeblog/p/8819405.html
5.mybatis中#{}和${}的区别
#{..}占位符,替换preparedstatement中的?能防止sql注入。
$(..)字符串替换,不能防止sql注入。
1). #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id".
2). $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by user_id, 如果传入的值是id,则解析成的sql为order by id.
3). #方式能够很大程度防止sql注入。
4).$方式无法防止Sql注入。
5).$方式一般用于传入数据库对象,例如传入表名.
6).一般能用#的就别用$.
https://www.cnblogs.com/yang82/p/7813549.html
6.MyBatis中resultType和resultMap的区别
resultType一般用于单表查询,返回一个pojo。
resultMap用于结果映射,比如多表查询的结果映射,在xml中需要对应的resultMap定义。
resultType映射,必须字段名一样
resultMap只要配置一下,表和类的一一对应关系,就算你的字段名和你的实体类的属性名不一样也没关系,都会给你映射出来
7.mybatis种如何设置一对多和多对一的关系
Mybatis的Mapper该如何编写一对多?很简单,就是在resultMap标签中配置<collection>标签
Mybatis的Mapper该如何编写多对一?很简单,就是在resultMap标签中配置<association></association>标签
https://www.cnblogs.com/jimisun/p/9414148.html
8.简述mybatis缓存有几种?
一级缓存(默认开启),session级别,查询过的sql结果,后续查询都从缓存中拿
二级缓存:(默认关闭,手动开启,修改配置文件开启),跨session,二级缓存解决方案可以用redis,memorycache来替代。
自定义缓存
https://www.cnblogs.com/wgy-01/p/10774773.html
9.Spring mvc返回值类型有几种?
7种
ModelAndView
Model
ModelMap
Map
View
String
void
10.Spring mvc中可以依赖注入的类型有几种?
5种
Model
HttpServletRequest
HttpServletResponse
HttpSession
ServletContext
网友评论