瑞吉项目技术栈
瑞吉项目技术栈
项目开发
静态资源路径映射
- 用于向springboot指定静态资源路径
- 如果没有配置springboot会从默认位置寻找静态资源
R类处理响应结果
- 通用返回结果,服务端返回相应的结果此对象
- 前端接收该对象(响应码、错误信息、成功数据等json数据)
Dto实体类扩展
- 扩展实体类的属性,一般用于多表数据操作
登录过滤器
- 配置过滤器
- 放行登录页面、登录登出请求等
- 过滤未登录请求
- 启动类添加@ServletComponentScan,Filter可以直接通过@WebFilter注解自动注册
自定义业务异常
- 通过trow关键字抛出自定义异常
- 设置异常信息
全局异常处理器
- 捕获controller中出现的异常
- 捕获抛出的自定义业务异常
- 将异常信息响应给前端
MP分页插件
- 配置MP的分页插件
- 使用分页构造器
对象映射器(MVC消息转换器)
- 对象映射器:基于jackson将Java对象转为json,或者将json转为Java对象
- MVC消息转换器:设置对象转换器,底层使用Jackson将Java对象转json
自定义元数据对象处理器
- 公共字段自动填充
- 执行insert或update语句填充数据库表中的创建时间、创建用户、修改时间、修改用户等字段
ThreadLocal类
- 保存和获取当前登录的用户id
- 作用在同一线程,不同线程相互隔离,线程安全
文件上传下载
- 上传:接收图片文件,修改图片名,转存到指定文件夹
- 下载:通过输入流读取文件,通过输出流将文件写回浏览器
事务处理
- service层方法添加@Transactional 注解
- 启动类添加@EnableTransactionManagement注解开启对事务的支持
阿里云短信验证码服务
- 创建阿里云账户,使用阿里云短信服务平台
- 验证码生成工具类
- 短信发送工具类
项目优化
Git托管
- 关联远程仓库,上传代码,共同开发,版本控制等
缓存实现
用作验证码的缓存
使用redis缓存移动端数据,提高响应速度,降低mysql数据压力
数据库读写分离
- 配置mysql主从复制功能
- 主库用于执行增、删、改操作
- 从库用于执行查询操作
nginx反向代理
- 代理静态资源服务器
- 接口请求反向代理
swagger生成接口文档
- 生成后端接口说明文档
- 可用于测试接口
企业级项目部署
- 动静分离(后端代码和前端代码分别部署)
- 读写分离(主库用于写、从库用于读)
- 缓存实现
- 反向代理
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 热爱可抵岁月漫长!