金电 java,黄金 - 完整电商项目之后台(mall4j)

阚乐湛
2023-12-01

¶ 黄金 - 完整电商项目之后台(mall4j) Mall4j

¶ 学习项目

¶ 看代码的原则 始终持反思的态度:别人写的不一定就是完全对的,或者有其场景性;多问自己,为什么是这样,我能不能不这样?有没有更好的选择?

代码的结构是迎合业务的需求而变化着的,这点是至关重要的。代码结构往往是开发成本和业务的折中, 不是说代码这样很精致我们就这样做的,不是说这样炫酷我们就这样实现的。

注重总体的理解,而不是细节。

¶ 学习着手点 先看pom引入

对于不知道在哪里使用的类,或者想看之间的关联,先注释掉,看报错

¶ 准备知识 Guava

SpringBoot

Java 8

¶ 开始学习之理解业务

¶ 一般电商有哪些业务

¶ 这个项目包含哪些业务

¶ 开始学习之后端学习

¶ 1. 后端 - 环境准备和配置

¶ 2. 后端 - 理解包结构 包的划分是按照模块划分还是按照逻辑层次?

包的统一版本管理

证书问题

Readme

¶ 3. 后端 - Common包 什么内容应该放在common包?Bean和Security应该放common包吗?

统一的工具类

统一的序列化

统一的响应封装

统一的异常处理

统一的日志拦截

统一的常量定义

统一的配置(包括第三方组件配置) 缓存配置 - Redis(接口幂等)

ORM层 - MyBatis配置

文件上传 - 七牛云配置

短信通知 - 阿里大鱼

¶ 4. 后端 - Bean包 理解DO,DTO,VO

理解Param

理解Mapper是否要和DO放一起?

理解层次和业务模块分包原则?

lombok不一致

序列化的意义

¶ 5. 后端 - Security包 AAA与HTTP Status Code

理解RBAC

理解SpringSecurity和Shiro

SpringSecurity - Filter,Provider, Parser之间的关系 https://www.cnblogs.com/jeeweb/p/11818948.html

https://www.cnblogs.com/demingblog/p/10874753.html

普通用户和系统用户分离

登录登出

验证码

错误信息提示

权限控制

AppConnect放这里是否合适 如果不放在这里会出现鸡生蛋蛋生鸡的问题

里面Mpxxx开头的是否可以删除? MpAuthenticationProvider

MpAuthenticationToken

¶ 6. 后端 - Service包 理解ORM

理解MyBatis,JPA等

理解MyBatisPlus

MyBatisPlus相关配置和使用

为什么其它包里还有DAO相关的?

缓存的使用

Service,Mapper, DO之间的关联

是否需要使用代码生成

¶ 7. 后端 - Mp包 微信小程序

微信公众号

微信支付

¶ 8. 后端 - API包 分布式ID - Snowflake

Swagger2 接口文档 https://doc.xiaominfo.com/guide/i18n.html

资源管理 ResourceServer

授权管理 AuthorizationServerConfigurer

Lisener 默认操作 确认订单信息时的默认操作

默认的购物车链进行组装时的操作

确认订单信息时的默认操作

删除和编辑等数据操作并没有权限的控制,是否有需要做?

¶ 9. 后端 - Quartz包 Quartz基本使用

Quartz任务持久化

Quartz任务和任务日志

异步监听定时任务事件,解决job线程无故丢失的问题

¶ 10. 后端 - Sys包 系统日志切面

系统配置信息管理

系统日志查询

系统菜单管理

RBAC - 系统用户和角色管理

¶ 11. 后端 - admin包

¶ 12. 后端 - Docker

 类似资料: