373675032/smart-medicine · 上手攻略

  • 仓库:373675032/smart-medicine
  • 链接:https://github.com/373675032/smart-medicine
  • 分类:学术写作 · 毕业设计 · Java Web
  • 作者:Tom
  • 更新:2026-08-26

这是什么

智慧医药系统(smart-medicine)是一个基于 SpringBoot + SSM 架构的标准 Java Web 毕业设计项目,作者为薛伟同学。它将阿里云通义千问大语言模型包装成「智能医生」对话机器人,提供疾病查询、药品查询、用户反馈管理等功能,面向初学者和毕业答辩场景。

简单来说:这是一套「AI 问诊 + 医药百科」的单体 Web 应用,适合学习 Java Web 全栈开发流程,但不适合生产部署。


解决什么问题

  • 毕业设计/课程项目需要一个完整可运行的 Java Web 系统
  • 需要一个自带 AI 对话功能的演示项目(通义千问 API)
  • 需要参考 SSM 目录结构和 SpringBoot 配置方式的初学者

快速安装

环境要求

依赖 版本 备注
JDK 1.8 必须是 1.8,其他版本可能有未知问题
Maven 3.6+
MySQL 5.7 ⚠️ 作者明确提示其他版本可能有问题
IntelliJ IDEA 2020.2.2 主要开发工具
WebStorm 2019.2.1 前端页面开发

核心步骤

# 1. 克隆项目
git clone https://github.com/373675032/smart-medicine.git

# 2. 导入数据库脚本(MySQL 5.7)
mysql -u root -p < src/main/resources/smart-medicine.sql

# 3. 修改配置文件 src/main/resources/application.yml
#    - 数据源配置(MySQL 连接)
#    - 邮件配置(注册验证码)
#    - 阿里云通义千问 API Key(https://help.aliyun.com/zh/dashscope/developer-reference/activate-dashscope-and-create-an-api-key)
#    - 阿里云 OSS 对象存储配置

技术栈一览

层级 技术
后端框架 SpringBoot + SpringMVC + MyBatis
前端模板 Thymeleaf + Bootstrap + JQuery
数据库 MySQL 5.7 + Druid 连接池
AI 能力 阿里云通义千问(DashScope API)
文件存储 阿里云 OSS 对象存储
邮件 SMTP 邮件发送(注册验证码)

核心用法

角色与权限

系统设计三个角色:

游客(未登录) - 登录 / 注册 - 搜索疾病、药品并查看详情 - 浏览系统主页

普通用户(已登录) - 游客全部权限 - 修改个人资料(姓名、年龄、手机号、头像) - 修改登录密码 - 提交意见反馈 - 与智能医生对话(调用通义千问)

管理员 - 用户全部权限 - 发布 / 编辑 / 删除疾病信息 - 发布 / 编辑 / 删除药品信息(关联疾病) - 管理用户反馈

典型操作流程

注册账号 → 登录 → 搜索疾病或药品 → 查看详情 → 进入智能医生对话

管理员额外操作:

# 管理员发布药品(通过管理后台界面操作)
疾病管理:发布疾病(名称、原因、症状、分类)
药品管理:发布药品(名称、功效、用法用量、关联疾病)

项目目录结构(SSM 标准)

src/main/java/xxx/
├── component/    # 组件(登录拦截器等)
├── controller/   # 控制层
├── entity/       # 实体类
├── dao/          # MyBatis 映射接口(数据访问层)
├── service/      # 业务逻辑接口
└── utils/        # 工具类

src/main/resources/
├── smart-medicine.sql   # 数据库脚本
├── static/              # 前端静态资源
├── templates/           # Thymeleaf 页面模板
└── application.yml      # 核心配置文件

典型适用场景

  1. Java 毕业设计答辩:完整项目结构、可运行的系统、内含 AI 噱头,答辩展示效果较好
  2. SpringBoot + SSM 学习:标准三层架构,目录规范,适合作为学习参照
  3. 课程项目原型:快速出可运行版本,修改参数即可定制

坑与注意

⚠️ 这些坑你踩定了,提前预防:

  1. MySQL 版本必须 5.7:作者明确提示其他版本会有未知问题,勿用 MySQL 8.x 直接迁移
  2. 通义千问 API Key 需自行申请:需要在阿里云开通 DashScope 服务并创建 API Key,有免费额度但有限制
  3. 阿里云 OSS 存储需要配置:头像和上传文件存在 OSS,数据库只存 URL;不配置则图片上传功能不可用
  4. 邮件发送需要 SMTP 配置:注册验证码依赖邮件发送,测试环境需要可用邮件服务
  5. 前端依赖外部 CDN:Bootstrap、JQuery 等通过 CDN 引入,离线环境无法正常加载页面
  6. 非生产级代码:这是毕业设计级项目,安全性(SQL 注入、XSS 等)未做专项处理,生产环境切勿直接使用
  7. 代码不含单元测试:没有测试覆盖,修改需手工验证

与同类对比

对比维度 本项目 正规医疗系统(如 OpenHIS)
架构 SSM 单体 Spring Cloud 微服务
AI 能力 通义千问对话(toy 级) 无或集成专业医疗 AI
药品数据 手工录入,量小 对接国家药品库
生产可用性 ❌ 零 ❌ 零
学习价值 ★★★(SSM 规范) ★★(微服务过于复杂)
毕业设计适配度 ★★★★★ ★★

结论:如果是学习 SSM 架构,这是个不错的参照项目;如果要做真正有价值的医疗系统,建议找更专业的开源项目而非此类毕业设计。


一句话推荐结论

智慧医药系统是一个适合毕业答辩展示的 SSM 架构学习项目,内置通义千问 AI 对话作为噱头,但代码质量和功能深度仅达到课程设计水平,生产环境完全不可用——适合学习参考,不适合直接使用