1. 项目背景与核心需求
航空票务系统作为现代交通出行的重要基础设施,其技术实现涉及复杂的业务逻辑和高并发场景。传统基于Servlet的Java Web开发模式在应对这类需求时,往往面临开发效率低、模块耦合度高、性能优化困难等问题。而Spring Boot框架的约定优于配置理念和自动化特性,为快速构建高可用航空票务平台提供了理想解决方案。
这个毕业设计项目的核心目标是构建一个具备完整票务管理流程的Web系统,需要实现以下关键功能模块:
- 用户身份认证与权限管理(旅客/代理商/航空公司三级权限体系)
- 航班信息动态管理与余票实时计算
- 多维度机票查询与智能排序(价格/时间/航空公司偏好)
- 在线选座与电子票证生成
- 支付系统对接与订单状态机管理
- 退改签规则引擎与手续费自动计算
实际商用系统中,余票计算需要解决"超卖"问题。本方案采用乐观锁+库存预扣机制,在订单创建阶段临时锁定座位,15分钟内未支付则自动释放库存。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术栈选型与架构设计
2.1 基础框架组合
采用经典的Spring Boot 2.7 + MyBatis-Plus技术栈,相比传统SSM架构具有以下优势:
- 自动配置省去70%以上的XML配置
- 内嵌Tomcat简化部署流程
- Starter依赖管理避免版本冲突
- Actuator提供生产级监控端点
xml复制<!-- 典型POM依赖示例 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
2.2 数据库设计要点
民航订票系统的数据库设计需要特别注意以下方面:
| 表名 | 关键字段 | 设计考虑 |
|---|---|---|
| flight_schedule | departure_time, arrival_time, aircraft_id | 建立复合索引提高查询效率 |
| seat_inventory | flight_id, seat_class, total_count |
