今日知识点文字总结
RedirectAttributes的用途: 继承自Model,在重定向时使用特殊flash属性传递数据
@RequestBody和@ResponseBody两个注解的使用位置和作用:
@RequestBody使用在参数上,作用是从请求体中获取JSON格式字符串反序 列化成参数类型对象
@ResponseBody使用在方法上,将方法的返回值直接响应到客户端显示
基于Servlet3.0标准规范的Multipart文件上传和下载的开发步骤:
- 文件上传:
- 在核心控制器配置类中重写customizeRegistration()方法加载文件上传配置参数
- @RequestPart将数据转成RequestPart格式
- 直接从参数获取MultipartFile上传文件
- transferTo()转存到服务器
- 文件下载:
- 输入流读出需要下载的文件
- 设置响应头包含附件,并设置MediaType
- 返回响应实体对象(字节数组,响应头,状态码)
HandlerInterceptor的用法和用途:
用法:创建HandlerInterceptor的实现类,并在SpringMvcConfig中重写addInterceptors()方法进行注册;
用途:拦截器:拦截每个Handler方法的执行
MyBatis的一级缓存和二级缓存有什么区别?
- 一级缓存:存在于同一个SqlSession生命周期中,关闭SqlSession一级缓存清空;不同SqlSession之间的缓存是相互隔离的;
- 二级缓存:存在于同一个SqlSessionFactory生命周期中,以namespace为单位;使用@CacheNameSpace注解开启,通过eviction属性设置消除策略,flushInterval属性缓存的刷新时间间隔,size属性设置缓存对象数量
MyBatis的优势有哪些?
MyBatista作为数据访问层的持久化半自动化的框架,使用Mapper映射简化了原生JDBC访问数据库的操作,简化了JDBC代码的冗余;
并且还加入了缓存机制,减少了频繁查询时数据库的压力;