当前位置: 首页 > news >正文

【开题答辩全过程】以 基于Spring Boot的香飘万里外卖平台为例,包含答辩的问题和答案

个人简介

一名14年经验的资深毕设内行人,语言擅长Javaphp、微信小程序、PythonGolang、安卓Android

开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。

感谢大家的关注与支持!

答辩学生:各位老师好,我做的题目是“基于 SpringBoot 的香飘万里外卖平台”。系统分用户端小程序和商家管理后台,主要功能有微信登录、浏览菜品、购物车下单、支付、配送跟踪、历史订单、优惠券和简单报表。技术栈用 SpringBoot + MySQL 做后端,微信小程序做前端,前后端用 RESTful 接口通信,ORM 用 MyBatis,部署在本地 Tomcat。下面请各位老师提问。



评委老师:为什么选择 SpringBoot 而不是直接用 JSP/Servlet?
答辩学生:SpringBoot 内置 Tomcat,配置少,注解多,省掉大量 xml,对我们基础弱的同学上手更快,而且社区教程多,遇到问题好查。


评委老师:小程序端用户第一次怎么登录?
答辩学生:点“微信授权登录”按钮,拿到微信返回的 code,后端用 code 换 openid,再把这个 openid 写进用户表完成注册,下次直接免密进。


评委老师:数据库里用户表主键用 openid 可以吗?
答辩学生:可以但不安全,我加了个自增 id 做主键,openid 只设唯一索引,防止泄露。


评委老师:购物车数据存在前端还是后端?
答辩学生:先存小程序本地 Storage,用户点“去结算”时才把商品列表一次性 post 到后端生成订单,减少并发写库。


评委老师:如果用户提交订单后马上关闭小程序,怎么保证订单不会丢失?
答辩学生:后端收到订单先把状态置“待支付”写库,返回订单号,再调微信统一下单;就算用户关小程序,库里仍有记录,15 分钟内可继续支付。


评委老师:支付成功回调怎么写?
答辩学生:微信会 post 一个 xml 到 notify 接口,我验签后把订单状态改成“已支付”,并给小程序推送一条“模板消息”提示用户。


评委老师:配送进度怎么实时推送给用户?
答辩学生:目前用“用户主动刷新”方案,订单详情页定时 10 秒请求一次最新状态;后续想接微信“订阅消息”,但开题阶段先做到这。


评委老师:后台报表统计用 SQL 直接 sum 吗?
答辩学生:是的,按天 group by,数据量不大,后期如果慢就加索引或者定时任务把结果写统计表。


评委老师:计划安排怎么排的?
答辩学生:2025 年 1-2 周完成需求和数据库,3-7 周写代码,8 周联调测试,9-10 周写论文,11 周做 PPT,12 周答辩。



评委老师:xx 同学整体思路清楚,技术选型贴合实际,功能划分也比较细,时间规划可行。建议下一步把支付回调和订单状态流转的异常分支再补几张流程图,数据库表结构加外键约束,继续加油。


以上是某同学的毕业设计答辩的过程,如果你现在还没有参加答辩,还是开题阶段,已经选好了题目不知道怎么写开题报告,可以下面找找有没有自己符合自己题目的开题报告内容,列表中的开题报告都是往届真实的开题报告,可发送使用或参考。文末或底部来联xi可免费获取

最后

有时间和有基础的同学,建议自己多花时间找一下资料(开题报告、源码)自己独立完成毕设,需要开题报告内容、源码参考的,可以联xi博主,没有选题的也可以联系我们进行帮你选题定功能和建议

http://www.jsqmd.com/news/89404/

相关文章:

  • 从零解决pyproject.toml构建失败的实战指南
  • Linux系统中的socket激活:先创建监听端口,后启动程序
  • 实战LLaMA2-7B指令微调
  • 优化Sigmoid函数计算:提升AI模型训练速度
  • 华强北看了都慌!酷铂达平替千元耳机,降噪+环绕声双buff拉满
  • 亚马逊基本功:低成本测品攻略
  • Java 八大排序算法详解(从入门到面试)
  • 【和春笋一起学C++】(五十一)复制构造函数
  • AI如何革新漏洞扫描工具的开发流程
  • 题解:AT_abc436_f
  • 计算机毕业设计springboot餐厅预定系统 基于SpringBoot的智慧餐饮订座平台 SpringBoot驱动的线上餐厅席位预约管理系统
  • 小白程序员的进阶之路:Java大厂求职面试实录
  • mac 安装brew实战应用案例分享
  • 深入解析 DNS:互联网的隐形神经系统
  • 服务器文件管理太麻烦?宝塔 FTP+cpolar 让远程操作像本地一样简单
  • 破壁异构计算 - Ascend C在CANN全栈中的战略支点角色
  • 数字色彩的骨架:计算机如何理解颜色
  • vue基于springboot众筹平台的设计与实现_o6xzhq2s_
  • MATLAB 环境下信号的同步压缩广义 Stockwell 变换探索
  • UE5 材质-35-节点:CustomRotator 自定义旋转 节点。线性渐变节点,材质函数 LinearGradient。
  • AI大模型赋能消费升级:新机遇与新路径
  • vue基于springboot的社区健身服务_yob3w0op_
  • Web3.js钱包与账户管理
  • 【开题答辩全过程】以 基于微信小程序的失物认领系统为例,包含答辩的问题和答案
  • Ascend C算子精度调试全攻略 - 从Print函数到结构化数据比对
  • 安全体验馆好用供应商
  • Ubuntu 24 安装 fcitx5 + rime + 雾凇配置
  • vue基于springboot二手车交易和租赁平台的设计与实现_k6nb3x0d(java毕业设计项目源码)
  • 《线性代数应该这样学》学习笔记 | 第一章 向量空间
  • 详细介绍:详解如何通过 MCP 协议实现 AI 对 Chrome 的智能控制:步骤与实战用例