RedirectAttribute,@RequestBody,@ResponseBody等知识点总结

**一、RedirectAttributes:**Model接口的子接口。在一次重定向的过程中会将重定向前model中的数据先存储到Spring的flash(闪存中),等重定向后将存储在flash中的数据塞到新的request中。这个过程仅发生在一次重定向中,如果在跳转后,刷新当前页面,数据将会丢失。

二、@RequestBody:参数级注解。将request请求中包含的JSON格式的字符串自动解析为为当前参数类型的对象,并注入。

三、@ResponseBody:方法级注解。将方法的返回数据直接以JSON的格式直接显示到view中。如果方法返回的数据类型为集合等复杂类型时,需要集成JACKSON等第三方JSON解析工具进行JSON格式的转化。

四、Servlet3.0标准规范的Multipart文件上传:
1.在服务器启动时配置文件上传的参数。在DispatcherServletConfig类中重写customizeRegistration方法,注册MultipartConfigElement配置类对象。
2.在Spring容器中注册Multipart解析器 ,Bean的名字必须为multipartResolver
3.在处理器方法参数中定义MultipartFile类型的参数,并使用@RequestPart注解注入上传的文件。

五、Servlet3.0标准规范的Multipart文件下载:
1.获取文件的输入流,并将文件的字节内容存入字节数组。
2.设置Http响应头(设置返回类型为一个附件,附件名字为fileName,设置响应内容为字节流)。
3.将文件的字节数组,HTTP响应头,HTTP状态码,交给ResponseEntity返回。

六、HandlerInterceptor(拦截器):用于拦截每个Handler的执行,具体分为Handler执行前(preHandle),Handler执行后视图执行前(postHandle),Handler执行后视图执行后(afterCompletion),三个部分。使用时需要实现HandlerInterceptor接口,并在SpringMVC容器中进行注册。

七、MyBatis的一级缓存和二级缓存的区别:
1.Mybatis的一级缓存发生在同一个SQLSession中,Mybatis的二级缓存发生在同一个SQLSessionFactory中。
2.Mybatis的一级缓存中的缓存可以自主清理。如果清理,二级缓存中的缓存也会被清理。而MyBatis的二级缓存只会在SQLSessionFactory销毁时被清理。

八、MyBatis的优势:
Mybatis与传统Jdbc相比:
1.具有缓存功能,可以减少对数据库的访问,从而减少性能的消耗。
2.对数据库操作进行了高度封装,减少了代码的冗余度
3.采用配置文件进行配置,解决了传统将SQL语句硬编码到DAO中的弊端,利于系统的维护。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值