Springboot企业微信点餐系统笔记

lombok插件的使用

lombok能在编译生成的字节码文件中会帮我们生成这些方法, 让代码更简洁
使用方法:
1. 下载lombok.jar插件并双击安装到eclipse目录
2. maven项目引入依赖
3. 类实体类上添加注解@Data

DO/DTO/VO

DO: 对应数据库的实体对象, 和数据库字段一一对应
DTO: 数据传输对象, DTO本身并不是业务对象
VO: 用于封装传递到前端需要展示的字段, 不需要展示的字段不要包含
使用分层处理非常有必要,
使用beanUtils如何实现数据拷贝

junit test

  1. 在junit中使用@Transactional会将数据自动恢复
  2. 在junit中使用Assert断言非常有用, 省时省力

分布式系统

特点: 多节点 / 消息通信 / 不共享内存
集群: 多个厨子做相同的菜

redis分布式锁

使用setnx加锁, 如果不存在则返回1, 如果存在则返回0
使用getset防止死锁, 设置新值并返回旧值

jsessionId

客户端请求服务端的时候, 服务端通过setCookie将jsessionid写入客户端cookie, 后续客户端请求服务端的时候会将jsessionid带上

全局统一异常处理

@ControllerAdvice + @ExceptionHandler 组合进行的 Controller 层上抛的异常全局统一处理
https://blog.csdn.net/kinginblue/article/details/70186586
https://blog.csdn.net/u014044812/article/details/78219692

ab压测工具

使用ab压测工具可以模拟多线程场景
ab -n 500 -c 100 http:www.baidu.com
(500个人启用100个线程)

synchronized关键字

1.无法做到细粒度控制, 对不同的商品做秒杀都会进到这个方法
2.只适合单机的情况

你可能感兴趣的:(读书笔记)