引言
苍穹外卖是我学习 Java 后端开发的重要实战项目。这里记录了本人根据老师课上内容和课程资料整理的完整学习笔记,希望能为同样在攻克这个项目的同学提供一些参考。
1. 软件开发整体介绍
1.1 软件开发流程

1.2 角色分工

1.3 软件环境

2. 苍穹外卖项目介绍
2.1 项目介绍
项目定位:专门为餐饮企业(餐厅、饭店)定制的一款软件产品。
功能架构:体现项目中的业务功能模块。

2.2 产品原型
产品原型:用于展示项目的业务功能,一般由产品经理进行设计。
以下为管理端和用户端的产品原型。

管理端

**用户端**
2.3 技术选型
下图是项目中使用到的技术框架和中间件等

3. 开发环境搭建
3.1 前端环境搭建前端工程基于 nginx 运行。
注意 nginx 目录必须放在没有中文的目录中才能正常运行,黑马资料包目录中有中文名,可将 nginx-1.20.2 文件夹移动到无中文目录下。

如果运行后在任务管理器中发现本机 80 端口被占用,可在 nginx.conf 中将监听端口更改为 81(或者其他未被服务占用的端口)。

nginx 正常运行后在浏览器访问 localhost,出现以下界面即表明前端环境搭建成功。

3.2 后端环境搭建
3.2.1 熟悉项目结构
了解完项目的整体结构后,对项目里的各个子模块进行分析。
sky-common 模块:存放一些公共类,可以供其他模块使用。

sky-common 模块中各个包的说明
| constant | 存放常量类 |
| context | 存放上下文类 |
| enumeration | 存放枚举类 |
| exception | 存放自定义的异常类 |
| json | 存放处理 JSON 转换的类 |
| properties | 存放 Spring Boot 中的配置属性类 |
| result | 存放后端返回的结果类 |
| utils | 存放工具类 |
sky-pojo模块:存放一些DTO,Entity,VO

sky-pojo模块中各个包的说明
| DTO | 数据传输对象,通常用于程序中各层之间传递数据 |
| Entity | 实体,通常和数据库中的表对应 |
| VO | 视图对象,为前端展示数据提供的对象 |
| POJO | 普通Java对象,只有属性和对应的getter和setter |
sky-server模块:存放配置文件、配置类、拦截器、controller、service、mapper、启动类等

sky-server模块中各个包的说明
| config | 存放配置类 |
| controller.admin | 存放controller类 |
| handler | 存放全局处理器,统一处理异常 |
| interceptor | 存放拦截器 |
| mapper | 存放mapper类 |
| service | 存放service类 |
| SkyApplication | 启动类 |
3.2.2 使用 Git 进行版本控制
点击 VCS 后点击 Create Git Repository 创建 Git 仓库,选择目录中的 sky-take-out 文件夹
创建成功后点击 Git 中的 Commit

勾选全部文件,编写 Commit Message,点击左下角的 Commit,创建用户信息并提交

然后在 Gitee 上创建远程仓库,创建完成后复制仓库地址

接着回到IDEA打开Git点击Push

点击Define remote 后将刚刚复制的地址粘贴到URL框内,点击OK即可将本地仓库与远程仓库关联

若点击OK后出现下图情况,分别填入gitee绑定的邮箱和登入密码,然后点击Log in

最后点击Push,刷新一下gitee界面就可以看到同步成功的界面

3.2.3 数据库环境搭建
将黑马数据库资料中的建表语句复制粘贴后运行,会成功建造出 11 张表
3.2.4 前后端联调程序执行过程

在 IDEA 右侧打开 Maven 点击 compile 进行编译,出现 BUILD SUCCESS 则证明编译成功

然后运行启动类,出现以下界面表示运行成功

且浏览器登录 localhost 界面后点击登录能进入系统,则表明前后端联调成功

3.3 完善登录功能
思路

步骤

4. 导入接口文档
4.1 前后端分离开发流程
4.2 操作步骤使用 Apifox 创建项目后在项目设置中找到数据管理,点击导入数据选择 YApi

接着将黑马项目接口文件夹中的管理端接口文件和用户端接口文件分别拖拽进指定区域导入即可完成接口文档的导入

因为我学的 AI+JavaWeb 版本是使用 Apifox 进行接口的调试,所以苍穹外卖项目后续我也将使用 Apifox,若对 Apifox 不熟悉可自行了解
创作不易,欢迎点赞收藏,你们的支持就是我持续输出的动力。





