SpringBoot+Vue前后端分离实现⾼并发秒杀——后端项⽬知识总结⼀、极限编程的基本过程
springboot结构构思 -> 编写测试代码 ->编写代码 ->测试
看情况使⽤,可以较快的追踪到问题的原因,减少回归错误的纠错难度
⼆、Redis的五种数据结构
String 可以是字符串、整数或者浮点数
List ⼀个链表,链表上的每个节点都包含了⼀个字符串
Set 包含字符串的⽆序收集器,并且被包含的每个字符串都是独⼀⽆⼆的
Hash 包含键值对的⽆序散列表
ZSet 字符串成员与浮点数分值之间的有序映射,元素的排列顺序由分值的⼤⼩决定
三、RedisTemplate中定义对5种数据结构操作
//操作字符串
redisTemplate.opsForValue();
//操作Hash
redisTemplate.opsForHash();
//操作List
redisTemplate.opsForList();
//操作Set
redisTemplate.opsForSet();
//操作ZSet
redisTemplate.opsForZSet();
四、Spring-date-redis默认采⽤的序列化策略
String的序列化策略 StringRedisTemplate默认采⽤此策略保存key和value
JDK的序列化策略 RedisTemplate默认采⽤此策略保存key和value
五、JPA和Hibernate的区别
JPA是⼀个规范或者接⼝
Hibernate是JPA的⼀个实现
六、登录功能需要考虑的问题
1.页⾯的设计
2.⽤户输⼊客户端和服务端的效验
3.密码安全性
4.登录状态的保持
5.防⽌恶意势⼒攻击
6.是否⽀持第三⽅登录
7.是否⽀持单点登录,可以使⽤Springboot+SpringSecurityOAuth
8.是否⽀持⼿机登录
9.海量注册⽤户登录,分库分表,redis缓存,客户端缓存
七、JSR303-validation服务端的效验
@NotBank(message = “”) 检查约束字符串是不是null还被Trim的长度是否⼤于0,只对字符串,会去掉前后空格,message返回错误信息
@Valid ⽤于Controller中接收需要效验的参数
BindingResult对象,⽤于获取效验失败情况下的反馈信息
⼋、注解@CrossOrigin(origins = “*”, allowCredentials = “true”)实现跨域请求
九、Mock测试
例:
@Test
public void loginTest() throws Exception {
//  post请求传参
MvcResult result = mockMvc.perform(post("/api/login").param("username", "kaneki").param("password", "123456")
.contentType(MediaType.APPLICATION_JSON))
// 状态
.andExpect(status().isOk())
.andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))
.andReturn();
System.out.Response().getContentAsString());
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。