RedirectAttributes的用途:
RedirectAttributes接口继承了Model接口,其主要用于重定向的数据传输,将键值对存入其flash属性中,可在重定向时将键值对存入request中传给重定向的视图
@RequestBody和@ResponseBody两个注解的使用位置和作用
1.@RequestBody是参数级别注解,作用是将请求体中包含的json格式字符串转换为对象并注入请求方法的参数中
2.@ResponseBody是方法级别注解,作用是将请求方法的返回值转化为json格式后作为响应传给客户端
基于Servlet3.0标准规范的Multipart文件上传和下载的开发步骤
上传:
1.容器启动时,加载“文件上传配置参数”
2.创建Multipart解析器Bean.
3.发起请求后,请求体中包含的文件Multipart解析器处理成MultipartFile文件对象,并注入。
4.使用transferTo()方法进行文件转存
下载:
1.准备下载文件路径(服务器端路径)
2.创建下载文件对象,并读取服务器中的文件字节数据。
3.设置响应头,本次响应中包含"附件"
4.请求方法返回响应实体对象(字节数组,响应头,状态码)
HandlerInterceptor的用法和用途
HandlerInterceptor是是个接口,该接口的实现类被称为拦截器,用于拦截处理器(请求方法)。拦截器需要在在springmvc配置中注册注入,并设置匹配路径规则。
MyBatis的一级缓存和二级缓存有什么区别?
MyBatis的一级缓存:
在一个sqlSession中,不同的sqlSession的一级缓存是相互隔离的,任何的update,insert,delete操作都能清空缓存
MyBatis的二级缓存:
在同一个SqlSessionFactory生命周期中,二级缓存是以namespace为单位,不同namespace下操作互不影响,二级缓存是默认开启的。可以使用@cacheNamespace注解开启二级缓存并设置清除策略(eviction属性)
MyBatis的优势有哪些?
MyBatis是一种半自动数据持久化框架,它的优势是封装了传统JDBC创建连接connection、SQL语句操作对象preparestatement和结果集resultset的代码,并且能使用SQL映射的方法减少代码冗余。