校园二手交易平台
校园二手交易平台项目博客
小组成员
- 组长: 李天瑞 202421336012
- 组员: 罗诗竣 202421336015
- 组员: 张星杭 202421336014
负责模块
| 成员 | 负责模块 |
|---|---|
| 李天瑞 | 业务逻辑层、数据访问层、用户服务、商品服务、订单服务、用户DAO、商品DAO、订单DAO |
| 罗诗竣 | 表示层、登录注册、商品浏览、个人中心 |
| 张星杭 | 数据储存层、工具包 |
项目特性
| 项目要求 | 实现情况 |
|---|---|
| 是否能脱离IDE运行 | ✅ 可以(打包为可执行JAR文件) |
| 界面采用技术 | ✅ Java Swing(桌面应用程序) |
| 数据库 | ✅ 文件序列化存储 |
| 第三方库 | ✅ Apache POI(Excel导出)、Jackson(JSON处理) |
| DAO | ✅ DAO模式 + 三层架构(Model-DAO-Service-UI) |
| 使用git进行代码管理 | ✅ 是(Git + GitHub) |
程序介绍
校园二手交易平台是一个为大学生设计的二手物品交易桌面应用程序。学生可以通过学号注册登录,发布自己的闲置物品,浏览搜索其他同学发布的商品,进行在线交流并完成交易。系统实现了完整的用户管理、商品管理、搜索浏览和交易流程功能。
1. 程序设计页面
1.1 登录页面

登录页面采用GridBagLayout布局管理器,确保表单元素对齐美观。输入框支持回车键快速登录。
1.2 登录失败提示

当输入的学号或密码错误时,系统会弹出错误提示对话框,提示具体错误原因(学号格式错误、密码错误等)。
1.3 商品浏览主页面

主界面采用JTabbedPane实现多标签页,包含商品浏览和个人中心两个主要面板。顶部有工具栏提供快捷操作。
1.4 商品详情页面

商品详情页面展示商品的完整信息。
1.5 数据查看器页面

数据查看器提供系统的数据查看功能,可以将序列化的二进制数据转换为可读的文本格式显示。
2. 使用环境
- 开发环境: IntelliJ IDEA 2023+、JDK 17、Maven 3.8+
- 运行环境: Java 11+(已打包为可执行JAR,无需额外配置)
- 第三方库: Apache POI 5.2.3、Jackson 2.15.2、JUnit 5.10.0
- 数据存储: 文件序列化存储(无需数据库服务器)
3. 项目结构图

4. 演示
4.1 发布商品

用户填写商品名称、描述、价格、分类等信息,可以上传商品图片,系统验证价格必须为正数。
4.2商品搜索

支持关键词搜索(商品名称和描述),可以按分类筛选,按价格范围过滤。
4.3 查看商品详情

展示商品的完整信息,买家可以点击"购买"按钮,卖家可以管理自己的商品。
4.4 数据统计与导出


系统可以生成数据统计报告,并支持将商品数据导出为Excel格式。
4.6 个人中心管理

用户可以查看和编辑个人信息,管理自己发布的商品,查看商品统计数据。
5. 项目亮点
5.1 DAO设计模式应用
系统采用完整的DAO设计模式,通过抽象基类AbstractFileDAO实现通用的CRUD操作,具体实体DAO继承并实现特定业务方法。

5.2 三层架构清晰分离
- 模型层(Model): 定义数据实体
- 数据访问层(DAO): 处理数据持久化
- 业务逻辑层(Service): 实现业务规则
- 表示层(UI): 提供用户界面
5.3 文件序列化存储
使用Java对象序列化技术,将数据保存到文件中,无需安装数据库服务器,部署简单。

5.4 完整的异常处理机制
- DAOException: 数据访问层异常
- ServiceException: 业务逻辑层异常
- 统一的异常处理策略
5.5 Stream API应用
在DAO实现中大量使用Java 8的Stream API进行数据处理和查询,代码简洁高效。
5.6 数据导出功能
使用Apache POI库实现数据导出功能,可以将商品数据导出为Excel格式,便于数据分析。
5.7 可扩展的架构设计
- 易于切换存储方式: 可以轻松从文件存储切换为数据库存储
- 模块化设计: 各层之间依赖清晰,便于维护和扩展
项目总结
校园二手交易平台项目成功实现了基于DAO模式的文件存储桌面应用程序。项目具有以下特点:
技术特点
- 完整的DAO模式实现,数据访问层设计规范
- 三层架构分离,代码结构清晰,易于维护
- 文件序列化存储,无需数据库,部署简单
- 丰富的业务功能,满足校园二手交易需求
- 良好的用户体验,界面美观,操作流畅
团队协作
- 分工明确:后端架构、前端界面、功能模块开发各司其职
- 代码规范:统一编码风格,便于协作开发
- 文档完整:提供详细的技术文档和用户手册
项目价值
- 实用性强:解决大学生二手物品交易的实际需求
- 教育意义:完整展示了Java桌面应用程序开发的全过程
- 可扩展性:架构设计良好,便于后续功能扩展
开发团队:滑动变组
版权所有 © 2026 滑动变组
课程设计项目 - 面向对象程序设计

浙公网安备 33010602011771号