
如果对你有帮助,请关注,点赞,收藏,你的支持就是我最大 的动力。

前言:通过前面基础知识的学习,这一阶段,我们要开始真正的后端开发之路了,那肯定需要写项目,对于我们这样的新手小白来说,苍穹外卖就是最适合新手的后端入门项目,所以我们这一阶段主要对苍穹外卖进行讲解。
对于新手小白,肯定对软件开发流程不了解,下面我们具体讲解。
根据需求规格说明书,产品原型分析对应的需求,搞清楚要做什么,并评估可行性。
决定该怎么做,搭建技术骨架。
UI设计( 设计界面布局、交互逻辑、用户操作流程),数据库设计,接口设计
将设计转化为实际的代码。
环境搭建: 配置开发环境、代码版本控制仓库。编码实现: 程序员根据设计文档编写前后端代码。单元测试: 开发人员对自己写的模块进行初步自测。
注意: 现代开发通常遵循代码规范,并进行代码审查
测试用例,测试报告,找出Bug,确保质量符合需求。
软件环境安装,配置, 保证稳定运行,并持续改进。
项目经理:对整个项目负责,任务分配、把控进度
产品经理:进行需求调研,输出需求调研文档、产品原型等UI设计师:根据产品原型输出界面效果图
架构师:项目整体架构设计、技术选型等
开发工程师:代码实现
测试工程师:编写测试用例,输出测试报告
运维工程师:软件环境搭建、项目上线
开发环境(development):开发人员在开发阶段使用的环境,一般外部用户无法访问
测试环境(testing):专门给测试人员使用的环境,用于测试项目,一般外部用户无法访问
生产环境(production):即线上环境,正式提供对外服务的环境


前端工程基于nginx运行,由于我们侧重的是后端开发,前端的页面展示及设计直接使用就行,我们只需要在自己的电脑上运行nginx接口,然后我们访问localhost即可展示页面。

由于我们实际在公司开发时,不会完全的自己手动的去创建每一个类,而是在之前的一些模板上进行修改,所以这里我们直接在idea中打开资料,项目结构如图所示。

这里我们依次介绍各个模块:
名称 | 说明 |
|---|---|
sky-take-out | maven父工程,统一管理依赖版本,聚合其他子模块 |
sky-common | 子模块,存放公共类,例如:工具类、常量类、异常类等 |
sky-pojo | 子模块,存放实体类、VO、DT0等 |
sky-server | 子模块,后端服务,存放配置文件、Controller、Service、Mapper等 |
从语法来说,Entity,DTO,VO都属于POJO,只是为了进一步说明POJO的作用,才细分成以下类。
名称 | 说明 |
|---|---|
Entity | 实体,通常和数据库中的表对应 |
DTO | 数据传输对象,通常用于程序中各层之间传递数据 |
VO | 视图对象,为前端展示数据提供的对象 |
POJO | 普通Java对象,只有属性和对应的getter和setter |
sky-server子模块中存放的是配置文件、配置类、拦截器、controller, service,mapper、启动类等
Git是什么,干什么的
Git 是目前世界上最先进的分布式版本控制系统。
简单来说,它的作用是帮你记录文件的每一次改动,并允许你随时回退到任何一个历史版本,尤其是在多人协作开发时,它能避免互相覆盖、代码冲突等问题。
工作区 ——git add——> 暂存区 ——git commit——> 本地仓库 ——git push——> 远程仓库
工作区: 你电脑里正在写的文件。
暂存区: 一个临时存放区域,用来确定“这次我准备保存哪些文件的改动”。
本地仓库: 代码和历史版本真正保存在你电脑硬盘 .git 文件夹里的位置。
远程仓库: 放在服务器上的代码库(如 GitHub、Gitee),用于团队共享和备份。
维度 | Git 本地仓库 | Maven | 关系 |
|---|---|---|---|
管理对象 | 你写的代码 (源文件) | 别人写的代码 (第三方库) | Git管自有资产,Maven管外部采购 |
存储内容 | .git 目录下的文件变更记录 | 本地 ~/.m2/repository 下的 JAR 包 | 两者在硬盘上是不同位置的文件夹 |
数据来源 | 你通过 git commit 生成 | 通过 mvn install 或从中央仓库下载 | Git产生数据,Maven消耗数据 |
是否需要联网 | 通常不需要,纯本地操作 | 首次构建时需要联网下载依赖 | 两者都可以离线工作,但Maven依赖本地缓存 |
我们可以在idea中点击VSC(版本控制),直接在下拉列表中创建git仓库,如果没有下载,idea会提示,这时直接按照提示的下载即可。

这个文件里面写的是排除git管理的文件,不需要git来管理。

点击提交,勾选全部(已经在前面gitignore排除的已经不在列表中了),这时还没有构架远程仓库,所以不用推送。
我们可以直接在gitee中直接写上仓库名


通过数据库建表语句设计数据库表结构。
我们在idea内置的数据库中创建

后端的初始工程中已经实现了登录功能,直接进行前后端联调测试即可

如果出错,有可能是yml文件中 的数据库密码错误,不是我们自己的密码,会导致前后端联调失败。