文章目录
0.前言
之前想尝试学习开源项目Halo个人博客系统,但是目前知识积累得太浅薄,halo项目相对我来说还太庞大,所以就暂时搁置了,打算先学习完NewBeeMall商城项目之后继续看Halo个人博客系统。
学习开源项目Halo(1) - 初步了解与运行Halo
NewBeeMall相对来说简单一些,适合当作springboot的一个综合实践。(大型课程设计?)
学习开源项目的目的:想通过学习与了解一个优秀的项目来对自己知识查漏补缺,并学习如何构建一个优质的项目,如果文章内容有所问题,欢迎在评论区批评指正。
1.NewBeeMall 新蜂商城简介
- NewBeeMall 新蜂商城 GitHub地址 https://github.com/newbee-ltd/newbee-mall
- 项目作者对NewBeeMall 新蜂商城的介绍:newbee-mall 项目(新蜂商城)是一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-admin 商城后台管理系统,基于 Spring Boot 2.X 及相关技术栈开发。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。
2.NewBeeMall项目配置与运行
NewBeeMall还是很适合新手的,项目不需要配置什么中间件等等,只需配置MySQL和图片资源,即下图中的两资源文件:sql文件和图片资源。
2.1 配置MySQL数据库
找到项目中的sql文件:newbee-mall / src / main / resources / newbee_mall_schema.sql
我是使用的navicat工具,新建一个数据库newbemall后右键此数据库执行此sql文件即可,结果如下:
可看到有9张表,由上至下分别为:
- 管理员用户表
- 轮播图表
- 商品分类表
- 商品信息表
- 首页配置表
- 订单表
- 订单子项表
- 购物车表
- 商城用户表
2.2 配置图片资源
查看config包下的NeeBeeMallWebMvcConfig类代码
其中有:
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/upload/**").addResourceLocations("file:" + Constants.FILE_UPLOAD_DIC);
registry.addResourceHandler("/goods-img/**").addResourceLocations("file:" + Constants.FILE_UPLOAD_DIC);
}
查看FILE_UPLOAD_DIC常量配置,在common包下的Constants类
可看到
public class Constants {
//public final static String FILE_UPLOAD_DIC = "/opt/image/upload/";//上传文件的默认url前缀,根据部署设置自行修改
public final static String FILE_UPLOAD_DIC = "D:\\upload\\";//上传文件的默认url前缀,根据部署设置自行修改
......
}
开源作者还贴心的留了注释在这。
因此,若只是在本机运行将upload.zip解压到D盘即可。当然也可自行更改,部署时也要注意修改。
2.3 运行NewBeeMAll
原项目的端口我修改成了8080:
商城系统运行效果如下:
后台管理系统运行效果如下:
3.NewBeeMall相关技术栈
3.1 项目原版技术栈
前端:
- AdminLTE:基于Bootstrap 4和3的免费管理仪表板模板
- Alipay-WeChat-HTML:支付宝和微信的二维码支付页面
- sweetalert:一个web组件,JavaScript的“警报”的漂亮替代品
- jqGrid:jQuery网格插件
后端:
- Thymeleaf:前端模板引擎
- SpringBoot2.x:web后端开发框架
- MyBatis:持久层框架
- MySQL:数据库:
- kaptcha:可高度配置的实用验证码生成工具
3.2 自行拓展的小方面
在此基础上自己也加了之前学过的两个小部分:
- 在线API文档生成:swagger
- 混合加密:AES,DES,RSA,SHA,3DES,MD5(原本只有MD5)
4.NewBeeMall开源项目泛读总结
发现商城用户只能设置一个收货地址,显然不是很现实,之后详细阅读代码后想自己添加上去。
…emmmm 泛读就想着改人家代码了,先好好学习下项目代码,之后会出详细阅读总结。
最后,感谢大佬的开源项目。他的GitHub首页还有其他开源项目,感兴趣可以自行查看。