1. 项目背景与核心需求
2023年初春,我在指导老师的建议下开始构思毕业设计选题。当时全球公共卫生事件频发,各类疫情数据分散在各个平台,公众获取权威信息存在困难。这让我萌生了开发一个整合性疫情数据管理系统的想法——通过技术手段解决信息碎片化问题。
这个系统的核心诉求非常明确:需要实时聚合全球疫情关键指标(感染数、治愈数、死亡数),并以可视化形式直观展示变化趋势。作为计算机专业的学生,我选择用最熟悉的Java技术栈来实现,采用经典的SSM框架组合(Spring+SpringMVC+MyBatis)。这个选择主要基于三点考量:首先,SSM框架在高校教学中普及度高,资料丰富;其次,MyBatis对复杂SQL查询的支持能很好地满足数据统计需求;最后,Spring的生态完整,方便集成各类可视化组件。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计解析
2.1 整体架构设计
系统采用标准的B/S三层架构:
- 前端:Vue.js + ECharts
- 后端:SpringBoot 2.7 + MyBatis-Plus
- 数据库:MySQL 5.7
选择Vue.js而非纯jQuery主要考虑到两点:一是数据绑定机制可以简化图表更新逻辑,二是组件化开发便于功能复用。实测证明,在疫情数据频繁更新的场景下,Vue的响应式特性确实大幅减少了手动DOM操作的工作量。
2.2 关键技术选型
数据可视化方案对比:
| 方案 | 优点 | 缺点 | 最终选择 |
|---|---|---|---|
| ECharts | 中文文档完善,社区活跃 | 3D图表支持较弱 | ✓ |
| Highcharts | 商业项目验证成熟 | 免费版有水印 | ✗ |
| Chart.js | 轻量级 | 复杂图表支持有限 | ✗ |
选择ECharts的核心原因是其强大的时间轴功能和地图组件,非常适合展示疫情时空分布特征。在实现省级粒度数据展示时,通过引入自定义地图
