叮当外卖单体项目SpringBoot+Mybatis-Plus+Redis(附源码)

发布于:2023-02-05 ⋅ 阅读:(723) ⋅ 点赞:(0)

个人推荐:

📢📢📢 前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下 "通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。点击跳转到教程

在这里插入图片描述

1.学习资源

视频资源:黑马程序员瑞吉外卖

在这里插入图片描述

源代码资源:
① 黑马程序员瑞吉外卖视频源码链接: https://pan.baidu.com/s/1ySusvyYr2lasUPpCYY2zNg?pwd=n2v4 提取码: n2v4
② 我编写的叮当外卖是在黑马瑞吉外卖的基础上进行简单的改进,在数据库的CRUD的操作上和瑞吉外卖一致,主要对该项目的图片上传方式进行了修改,采用七牛云方式,并且增加垃圾级清理模块,后台管理端数据删除采用逻辑删除,垃圾清理采用定时组件Quartz每周定时清理逻辑删除后的数据,和每日定时删除七牛云里的垃圾数据。
前台和后台源码https://github.com/itguye/dingdang_take_out.git
垃圾清理源码:https://github.com/itguye/dingdangtakeout_quartz_clearpictures.git

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.项目概述

项目分为后台管理端,前台移动端和垃圾清理端:

(1) 后台管理端

在这里插入图片描述

(2) 前台移动端

在这里插入图片描述

(3) 垃圾清理端

清理Redis中的缓存和七牛云的垃圾数据:
在这里插入图片描述
清理数据库和七牛云中的垃圾数据:
在这里插入图片描述

3.技术栈

后台管理端和前台移动端主要使用SpringBoot+Mybatis-Plus实现数据库的CRUD操作,项目中的图片上传与下载采用七牛云,数据缓存使用Redis,共二种方式 Spring Data Redis和SpringCache,垃圾清理端主要采用Spring+MyBatis实现数据的查询与删除操作,采用Quartz定时组件实现每周星期天晚上23点清理数据库中的垃圾数据(被后台管理端删除后的数据,采用了逻辑删除),每日晚23点清理Redis缓存数据(用于记录七牛云中所有上传图片和上传到数据库中图片的数据)和七牛云中的垃圾数据。
相关知识点如下:
① SpringBoot和Spring
② MyBatis 和 Mybatis-Plus
③ Redis
④ Spring Data Redis和SpringCache
⑤ Mysql
⑥ 七牛云
⑦ Quartz定时组件

在这里插入图片描述

4.服务器环境搭建(Linux环境)

安装可参考下面三篇博客:
Linux centos7.0搭建Java开发环境(保姆级教程),
Linux centOs7.0安装宝塔面板(保姆级教程)
Linux安装maven(详细教程)
服务器端需要安装如下软件:
① JDK
② Tomcat
③ 宝塔面板
④ Redis
⑤ Mysql
⑥ Maven

Redis和MySql我是通过宝塔面板进行安装。
在这里插入图片描述

七牛云

访问七牛云官网https://www.qiniu.com/,你需要注册用户,并且实名认证,并申请空间,然后将图片上传到空间即可

在这里插入图片描述
所需上传图片放在项目中的图片资源里
在这里插入图片描述

5.软件部署

(1) 数据库部署

这里我采用的是宝塔面板部署数据库,数据库的SQL文件放在项目中的db文件下。

添加数据库的账号和密码就是你的远程服务器的数据库账号密码(意思就是在服务器中新建了一个mysql用户)
在这里插入图片描述
导入数据库的SQL
在这里插入图片描述
在这里插入图片描述
sql文件存放在项目的db文件下:
在这里插入图片描述

用户授权(用户授权需要安装phpMyAdmin软件)
在这里插入图片描述
登入的用户名和密码就是你的root账户
在这里插入图片描述
创建的数据库需要远程连接权限和新建用户对新建数据库的增删改查权限
在这里插入图片描述
新增用户权限,这里的用户就是自己新增的用户(业务程序访问数据库的用户)
在这里插入图片描述

在这里插入图片描述

(2) 相关参数配置

这里主要讲解对前台和后台部分的配置,垃圾清理部分的配置只有mysql和Mybatis,只需要修改成自己的配置参数即可,不在演示。

  • 项目clone 或下载源码
git clone https://github.com/itguye/dingdang_take_out.git

在这里插入图片描述

  • IDEA打开项目(Maven导包需要一些时间)

在这里插入图片描述

  • 修改项目配置文件application.yaml

服务端口号与数据库配置:
在这里插入图片描述

Redis和mybatis-plus的配置:
在这里插入图片描述

  • 文件上传与下载七牛云配置

修改七牛云工具类的配置:
在这里插入图片描述

修改如下参数:
在这里插入图片描述

accessKey和secretKey对于七牛云个人中心密钥管理中心的AK和SK:

在这里插入图片描述

bucket对于七牛云中的空间名

在这里插入图片描述

new Configuration(Zone.zone2()); 表示存储在华南区域,其他区域分别为Zone.zone0华东 ,Zone.zone1华北,Zone.zone2华南,根据你选择的区域进行配置即可

在这里插入图片描述

在这里插入图片描述

  • 图片的游览是直接访问七牛云(外链),需要修改成你的外链主机名

在七牛云中复制外链接如 http://rfuczc8jn.hn-bkt.clouddn.com/00874a5e-0df2-446b-8f69-a30eb7d88ee8.png,我的 外链接主机名为rfuczc8jn.hn-bkt.clouddn.com ,在前端需要修改成你的外链接主机名,不然无法获取你七牛云里的图片,外链接就是直接通过互联网就可以进行访问。

在这里插入图片描述

你可以通过全局搜索进行快速定位
在这里插入图片描述
前端如下几处需要进行修改:

后台管理端:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
前台移动端:
在这里插入图片描述
在这里插入图片描述

备注:垃圾清理部分的配置就是修改一下Redis和mysql的配置即可,这里不再演示了。

(3) 程序部署

项目的前台和后台是同一个项目,垃圾清理是另一个项目,前一个项目打包方式为Jar方式,运行非常简单通过 java -jar 项目名 运行即可,当然这部分和视频中的一致可以通过Shell脚本的方式进行部署,后一个项目打包方式为war包,将war放入到Tomcat的webapps中即可运行,二个项目都是通过Maven构建,所以生成jar/war只需要通过mvn package进行打包,然后将打包后的文件上传到服务器中即可,如果是前一个项目通过shell脚本执行的话,将修改后的代码push到托管代码平台上(gittee/github)上,服务器端先clone项目,如果下次有更新直接执行脚本即可更新项目。

shell存放在项目中的shell文件下:
在这里插入图片描述

  • 第一个项目的部署(后台服务端与前台服务端叮当外卖)

通过脚本的方式执行程序(需要先在Linux相应文件下git clone自己的项目,更新后执行下面的脚本即可)
在这里插入图片描述
当然你也可以通过执行 java -jar 项目 的方式执行项目
在这里插入图片描述

  • 第二个项目的部署,垃圾清理

只需要将生成后的war包放入到Tomcat下的webapps中即可
在这里插入图片描述

6.软件预览

(1) 后台管理端

后台管理端访问路径为:http://124.220.28.236:8089/backend/page/login/login.html(账号zhangsan,密码:123456)

  • 后台登入
    在这里插入图片描述

  • 员工管理

在这里插入图片描述

  • 分类管理

在这里插入图片描述

  • 菜品管理(批量处理业务视频中未编写,这里我编写了的)

在这里插入图片描述

  • 套餐管理(批量处理业务视频中未编写,这里我编写了)

在这里插入图片描述

  • 订单详情(视频中该本分业务未编写,这里我编写了)

在这里插入图片描述

(2) 前台移动端

游览器访问需要手机适配设置(按F12适配手机),访问路径: http://124.220.28.236:8089/front/page/login.html(手机号:13812345678,点击获取验证码,进行登入即可)

在这里插入图片描述

  • 登入页面

在这里插入图片描述

  • 服务大厅

在这里插入图片描述

  • 订单结算页面

在这里插入图片描述

  • 个人中心

在这里插入图片描述

  • 地址管理

在这里插入图片描述

  • 历史订单

在这里插入图片描述

(3) 垃圾清理端(war包)

垃圾清理打包成war放入Tomcat的webapps中,由于定时组件的原因会根据core表达式在某一个具体时间执行,共二个任务,任务1执行清理Redis缓存和七牛云的垃圾数据,任务2执行清理数据库中和七牛云的垃圾数据。

清理Redis中的缓存和七牛云的垃圾数据:
在这里插入图片描述
清理数据库和七牛云中的垃圾数据:
在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看