1. 项目概述:SSM+Vue家庭财务管理系统开发实录
去年帮表弟家搭建私人财务系统时,发现市面上的记账软件要么功能臃肿,要么数据要上传云端。这促使我萌生了开发轻量级私有化财务系统的想法。本文将分享基于SSM+Vue技术栈的家庭财务管理系统完整开发过程,这套系统已稳定运行8个月,日均处理200+笔交易记录。
系统核心解决三大痛点:一是分散记账导致月末对账困难(表弟曾因5个支付平台对账花了3小时);二是预算执行缺乏实时监控(舅妈去年超支3万才发现);三是理财收益计算不直观(朋友买理财时经常算错实际收益率)。采用SpringBoot+MyBatisPlus+Vue3的组合,在保证扩展性的同时,将安装包控制在28MB以内。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术选型与架构设计
2.1 为什么选择SSM+Vue组合
后端选用SSM框架而非SpringBoot单体架构,主要考虑教学场景的渐进式学习需求。实际开发中我们做了两点改良:
- 用Spring5的JavaConfig替代XML配置(减少60%的配置代码)
- 集成MyBatis-Plus 3.5.3(简化90%的单表CRUD操作)
前端选择Vue3而非React,出于三点考量:
- 学习曲线更平缓(适合家庭用户二次开发)
- 组合式API更适合财务模块化开发
- 与ECharts的集成更简便(理财图表是关键功能)
2.2 系统架构图解
code复制[用户层]
│
▼
[表现层] Vue3 + Element Plus + Axios
│
▼
[网关层] Nginx反向代理(解决跨域)
│
▼
[业务层] SpringMVC + JWT鉴权
│
▼
[持久层] MyBatis-Plus + SM4加密插件
│
▼
[存储层] MySQL5.7 + 定时本地备份
特别说明架构设计中的三个关键决策:
- 采用Nginx而非SpringCloud Gateway,因家庭场景无需服务治理
- 自研SM4加密插件而非使用Hutool,避免引入不必要依赖
- 选择MySQL5.7而非8.0,因多数家庭服务器环境较旧
3. 核心功能实现细节
3.1 多账户资金联动设计
账户模块采用"余额快照+流水明细"的双存储模式:
``
