项目笔记
mall中使用的技术
mall采用现阶主流技术实现,涵盖了一般项目中几乎所有使用的技术。
技术 | 版本 | 说明 |
---|---|---|
Spring Boot | 2.3.0 | 容器+MVC框架 |
Spring Security | 5.1.4 | 认证和授权框架 |
MyBatis | 3.4.6 | ORM框架 |
MyBatisGenerator | 1.3.3 | 数据层代码生成 |
PageHelper | 5.1.8 | MyBatis物理分页插件 |
Swagger-UI | 2.9.2 | 文档生产工具 |
Elasticsearch | 7.6.2 | 搜索引擎 |
RabbitMq | 3.7.14 | 消息队列 |
Redis | 5.0 | 分布式缓存 |
MongoDb | 4.2.5 | NoSql数据库 |
Docker | 18.09.0 | 应用容器引擎 |
Druid | 1.1.10 | 数据库连接池 |
OSS | 2.5.0 | 对象存储 |
JWT | 0.9.0 | JWT登录支持 |
Lombok | 1.18.6 | 简化对象封装工具 |
mall实现的功能概览
具体可以看下演示地址,亲自体验下:http://www.macrozheng.com/admin/index.html
-
商品模块
-
商品管理
-
商品分类管理
-
商品类型管理
-
品牌管理
-
-
订单模块
-
订单管理
-
订单设置
-
退货申请处理
-
退货原因设置
-
-
营销模块
-
秒杀活动管理
-
优惠价管理
-
品牌推荐管理
-
新品推荐管理
-
人气推荐管理
-
专题推荐管理
-
首页广告管理
-
mall数据库表概览
mall项目目前有71张数据表,业务逻辑有一定复杂度,平时做项目参考也够了。
数据库表前缀说明
-
cms_*:内容管理模块相关表
-
oms_*:订单管理模块相关表
-
pms_*:商品模块相关表
-
sms_*:营销模块相关表
-
ums_*:会员模块相关表
mall在windows环境下的部署
一、在IDEA中安装插件Lombok,这个插件的作用是提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码。其中IDEA的下载路径为:https://github.com/judasn/IntelliJ-IDEA-Tutorial ,将下载的代码在idea中打开,最基本的路径为pop.xml;
二、mysql的安装,将mysql安装在5.7版本,下载:https://dev.mysql.com/downloads/installer/设置数据库和密码为root root,创建数据库mall,导入document/sql下的mall文件。
三、Redis,下载https://github.com/MicrosoftArchive/redis/releases,解压后在bin目录执行Redis的启动命令redis-server.exe redis.windows.conf。
四、Elasticsearch,下载:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-6-2,解压后之后需要安装中文分词插件,在elasticsearch-7.6.2\bin
目录下执行以下命令:elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip,运行bin目录下的elasticsearch.bat启动Elasticsearch.bat启动elasticsearch服务。
五、Kibana,下载Kibana作为访问Elasticsearch的客户端,解压到指定目录,下载的地址是:https://www.elastic.co/cn/downloads/past-releases/kibana-7-6-2,运行bin目录下的kibana.bat,启动Kibana服务,测试地址http://localhost:5601是否能成功访问。
六、Logstash,收集日志,下载地址:https://www.elastic.co/cn/downloads/past-releases/logstash-7-6-2,将Logstash的配置文件logstash.conf拷贝到安装目录的bin目录下,配置文件的地址https://github.com/macrozheng/mall/blob/master/document/elk/logstash.conf。其中Logstash需要安装json_lines插件,cmd命令logstash-plugin install logstash-codec-json_lines,运行bin目录下的logstash.bat
,启动Logstash服务,启动命令如下:logstash -f logstash.conf。
七、MongoDB,下载MongoDB安装包,下载的地址为https://www.mongodb.com/download-center/community,选择为自定义安装,设置好安装路径,配置好MongoDB,让MongoDB作为服务运行,并配置好数据目录和日志目录;安装好双击MongoDB的mongo.exe,操作。如果需要移除MongoDB的服务,使用管理员权限的cmd工具,输入sc.exe delete MongoDB。
八、下载客户端工具Robo 3T,下载的地址为:https://robomongo.org/download,解压后运行建立到MongoDB的连接,
九、RabbitMQ,安装Erlang,下载地址http://erlang.org/download/otp_win64_21.3.exe,之后安装服务。
十、OOS,阿里云用户名:
架构篇
一、mall整合springBoot+MyBatis搭建基本骨架
项目使用的框架介绍
SpringBoot
SpringBoot可以让你快速构建基于Spring的Web应用程序,内置多种Web容器(如Tomcat),通过启动入口程序的main函数即可运行。
PagerHelper
MyBatis分页插件,简单的几行代码就能实现分页,在与SpringBoot整合时,只要整合了PagerHelper就自动整合了MyBatis。
PageHelper.startPage(pageNum, pageSize); //之后进行查询操作将自动进行分页 List<PmsBrand> brandList = brandMapper.selectByExample(new PmsBrandExample()); //通过构造PageInfo对象获取分页信息,如当前页码,总页数,总条数 PageInfo<PmsBrand> pageInfo = new PageInfo<PmsBrand>(list);Copy to clipboardErrorCopied
Druid
alibaba开源的数据库连接池,号称Java语言中最好的数据库连接池。
Mybatis generator
MyBatis的代码生成器,可以根据数据库生成model、mapper.xml、mapper接口和Example,通常情况下的单表查询不用再手写mapper。