1. 出发去做
首次开始去做一个项目,首先理清楚需求,后端就是规范式的初始化一个项目,前端我还是倾向于使用现成的模板仓库去做相应的修改。
- 后端所使用各个库的作用:
Spring Boot DevTools
:使代码热更新,更改了项目代码后会自动重启项目Lombok
:Java
的注解工具,帮助自动生成Get
Set
方法Spring Configuration Processor
:读取属性文件时有用(我觉得可选)Spring Web
:web 框架,提供接口访问、restful接口等能力MySQL Driver
:Mysql数据库驱动MyBatis Framework
:Java 操作数据库的框架,持久层框架,对 jdbc 的封装MyBatis-plus
:对 mybatis 的增强,不用写 sql 也能实现增删改查(装这个就行,就不要安装上面的 MyBatis 了)junit
:单元测试
2. 数据库
根据功能去设计数据库表,最好将SQL脚本写好之后保存下来,方便后续的执行
- 索引:给表创建一个目录,可以考虑查询该表时经常用哪个字段来查询,然后指定该字段来建立索引,这样数据量大了之后查询会快很多
- 基本每张表的必备字段:
create_time
:创建时间update_time
:更新时间is_delete
:是否删除,通过该标识可以逻辑删除该数据
- 有效标识:
status
:通过该字段可以用不同的数值来标识该项数据的状态,如0表示用户有效,1表示用户暂时禁用,2表示用户永久封号等等。(status
和is_delete
的区别在于status
和业务相关,is_delete
仅和该项数据相关,和业务无关)
3. 登录认证服务层
🌟开发技巧
- 安装插件
MyBatisX
,可以快速的通过数据表生成对应的model
mapper
server
代码 - 鼠标放在需要测试的类名上,然后使用快捷键
Alt + Enter
可以快速的创建测试类 - 插件
GenerateAllSetter
帮助生成假数据,可用于测试。使用方法同样是:Alt + Enter
- Hutool 是一个小而全的
Java
工具类库,可用于校验合法性等 @Slf4j
注解可以方便的编写日志,该注解由lombok
提供MyBatis Plus
支持配置逻辑删除,这样查询的时候只查询逻辑上存在的数据,使用文档
数据脱敏:后端将查询到的数据做二次处理,仅将需要返回的数据拿给前端,以达到保护信息的目的
4. 用户管理接口
@RestController
注解让接口的响应类型都为Json
,适用与编写Restful
风格的API
- 公共用到的一些量应该定义为常量,单独放在
constants
目录中 - 设计任何接口时都应该考虑权限问题
2.03