大数据1028第三阶段第三周周测错题整理

试卷总分:100  及格分:60  平均分:82.28  得分:98

1.Spring/SpringMVC常用的注解及其作用(至少8个)

我的答案:(满分10分,得分10分)

@Component 加在类上的注解,将此类的对象放在IoC容器中

@Controller 跟Component相同,不过为了方便程序员识别,一般加在控制层的类上

@Service 跟Component相同,不过为了方便程序员识别,一般加在Service层的类上

@Repository 跟Component相同,不过为了方便程序员识别,一般加在dao层的类上

@Mapper 扫描Mapper接口的注解

@ResponseBody 对象转为JSON格式的注解

@PathVariable 获取请求路径中携带的参数的注解

@RequestParam 请求参数改名的注解

@RequestMapping 设置请求路径的注解

@DateTimeFormat 日期格式转换的注解

答案解析:

@Component,@Repository,@Service,@controller:由Spring管理类的对象的创建

扫描二维码关注公众号,回复: 8799874 查看本文章

@Autowired,@Resource:从容器中获取类的对象并给字段赋值

@RequestMapping:映射方法的访问路径

@ResponseBody:将方法返回的对象转换为JSON

@Scope:设置对象的作用域

@PostConstruct,@PreDestory:设置对象的生命周期

@Aspect:设置为切面类

@Transactional:添加事务控制

个人批注:emmm,之前一直在复习这块,感觉毫无压力

2.SpringMVC中,forward和redirect字符串的作用

我的答案:(满分10分,得分10分)

1.使用forward和redirect可以去掉视图解析器的前缀和后缀

2.forward是指转发到指定页面,redirect是指重定向到指定页面

答案解析:

两个字符串的共同功能是使视图解析器的前缀和后缀不再生效.forward的作用是以请求转发的方式跳转到视图页面,redirect是以重定向的方式跳转到视图页面

个人批注:我怀疑老师是想让我弥补上次少写一条的遗憾哈哈哈哈

3.简述redis的数据类型有哪些,以及各自的应用场景

我的答案:(满分10分,得分10分)

1.String类型 应用场景做缓存,计数器

2.hash类型 应用场景做缓存

3.set类型 应用场景抽奖

4.list类型 应用场景朋友圈点赞

5.sortedSet 应用场景做排行榜

答案解析:

字符串(String),主要做缓存;哈希(hash),做缓存;列表(list),模拟栈和队列;集合(set),可以做抽奖案例,去重;有序列表(sorted set),做排名

个人批注:下午的时候,老师刚讲过,这块又很简单,直接就记住了,有什么办法呢?哈哈哈

4.简述Mybatis的缓存机制

我的答案:(满分10分,得分10分)

Mybatis的缓存机制有两种

1.一级缓存:SqlSession级别的缓存,自动开启.SqlSession生命周期很短,所以这种缓存的声明周期也很短.

2.二级缓存:namespace级别的缓存,需要在mapper.xml文件中开启缓存,然后添加<cach/>,并且使用到的类要实现序列化接口.

答案解析:

Mybatis的缓存分成一级缓存和二级缓存.

一级缓存是默认开启的,作用域为SqlSession,二级缓存缓存需要收的开启,作用域为namespace级别.

开启二级缓存需要在mapper映射文件添加</cache>标签,同时需要实现序列化接口.

个人批注:我严重怀疑老师出这个题,是因为他上课的时候随口提了一句二级缓存,然后我下课的时候问个没完,哈哈哈(cache少写了一个e,还有就是我本来想写实现Serializable接口的,结果忘了怎么写的,然后干脆就没写,还好老师答案也没写啧啧啧.)

5.association标签的作用是什么?使用association标签常用的属性及其作用是什么?

我的答案:(满分10分,得分10分)

association标签的作用:resultMap中的属性是一个对象的时候(比如多对一查询时),需要使用association标签.

常用属性:

1.property 类中定义的相应的属性的名字

2.column (当使用额外SQL查询的时候,需要传给额外SQL查询中的相应的参数.对应的是当前查询的表中的相应列名,貌似一般是id的列名,具体情况具体分析吧)

3.javaType 关联对象的类型(全限定名)

答案解析:

association用于执行一条单独的SQL语句,将查询出的结果集封装成对象并注入给属性.

select属性:发送的单独的SQL的statement;column:执行SQL语句时的需要的参数来源于哪个列的值;javaType:封装成哪个类的对象;property:将封装成的对象注入给哪个属性.

个人批注:我突然觉得之前我考的不好,不是我的问题,而是因为题不是老师出的.要是老师重点讲过,我肯定不会卡啊.

6.SpringMVC的流程?

我的答案:(满分10分,得分10分)

1.客户端发送请求到前端控制器

2.前端控制器调用处理器映射器

3.处理器映射器查找相应的处理器,

并生成相应的处理器对象并返回给前端控制器

4.前端控制器调用处理器适配器,

处理器适配器找到真正的处理器,并执行处理器

5.执行完毕后生成的ModelAndView对象返回给前端控制器

6.前端控制器调用视图解析器,视图解析器对其进行解析,并返回给前端控制器

7.前端控制器调用相应的渲染,将数据填充进去,生成的jsp,html再次返回给前端控制器

8.前端控制器将页面响应给客户端

答案解析:

1.用户发送请求至前端控制器DispatcherServlet;

2.DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取

Handle;

3.处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果

有则生成)一并返回给DispatcherServlet;

4.DispatcherServlet 调用 HandlerAdapter处理器适配器;

5.HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);

6.Handler执行完成返回ModelAndView;

7.HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet;

8.DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析;

9.ViewResolver解析后返回具体View;

10.DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)

11.DispatcherServlet响应用户。

 

7.SpringMVC怎么样设定重定向和转发的?

我的答案:(满分10分,得分10分)

SpringMVC的redirect和forward可以去掉视图解析器的前缀和后缀,根据指定页面的路径跳转

具体格式如下:

1.重定向: return "redirect:指定页面的路径"

2.转发:return "forward:指定页面的路径"

答案解析:

1.转发:在返回值前面加"forward:",譬如"forward:user.do"

2.重定向:在返回值前面加"redirect:",譬如"redirect:user.do"

8.有哪些不同类型的IoC(依赖注入)方式?

我的答案:(满分10分,得分10分)

1.Setter注入

2.构造器注入

答案解析:

1.构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一

系列参数,每个参数代表一个对其他类的依赖。

2.Setter方法注入:Setter方法注入是容器通过调用无参构造器或无参static工厂 方

法实例化bean之后,调用该bean的setter方法,即实现了基于setter的依赖注入。

个人批注:我圆满了,把上次丢的分,全都补回来了哈哈哈哈

9.解释Spring支持的几种bean的作用域?

我的答案:(满分10分,得分8分)

1.scope属性的值为prototype时,bean是多例的

2.scope属性的值为sington时,bean是单例的

答案解析:

singleton : bean在每个Spring ioc 容器中只有一个实例。

prototype:一个bean的定义可以有多个实例。

request:每次http请求都会创建一个bean,该作用域仅在基于web的Spring

ApplicationContext情形下有效。

session:在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于

web的Spring ApplicationContext情形下有效。

global-session:在一个全局的HTTP Session中,一个bean定义对应一个实例。该作

用域仅在基于web的Spring ApplicationContext情形下有效。

老师批注:可以适当了解一下答案中的其它情况

个人批注:过分,考超纲题.(emmm,突然发现singleton写错了,啧啧啧.)

10.SpringMVC怎么和前端AJAX交互的?

我的答案:(满分10分,得分10分)

在SpringMVC中可以使用@ResponseBody注解,将返回的对象转为JSON格式返回给AJAX,从而进行交互.

答案解析:

通过 jackson 框架就可以把 java 里面的对象直接转化成 js 可以识别的 json 对象具体步骤如下 :

1.加入jackson相关依赖

2.在接受 Ajax 方法里面可以直接返回 Object,List 等,但方法前面要加

个人批注:很好,全都补回来了

本次考试总结:

我以为我能考满分的,然而并没有.无论怎样,还是要好好学习啊!

发布了100 篇原创文章 · 获赞 7 · 访问量 7551

猜你喜欢

转载自blog.csdn.net/qq_40245464/article/details/103844130