一、引言
作为一名计算机专业学生,图书馆是我每周必去的学习场所。但传统的图书借阅流程总让我感到困扰:想借一本专业参考书,要先在图书馆官网查馆藏,再到书架前按编号找书,遇到热门书还得排队预约;还书时偶尔忘记到期时间,超期罚款不说,还影响后续借阅权限。
恰逢《Java 程序设计》课程要求完成一个'贴近生活的小型系统开发'作业,我便萌生了开发一款轻量化在线图书借阅平台的想法——既能实现'查书、借书、续借、预约'全流程线上化,又能通过到期提醒避免超期。但作为编程经验不算丰富的学生,我常因'需求梳理混乱''表结构设计不合理''重复编写基础代码'陷入瓶颈。
直到同学推荐了 AI 辅助工具,这款工具彻底改变了我的开发体验:它不仅能生成规范代码,还能像'编程助教'一样引导我拆解需求、优化设计。接下来,我将以学生视角,完整记录实现在线图书借阅平台的全过程,希望能给同样做课程设计的同学提供参考。
二、环境准备
参考学长分享的开发经验,结合学生常用的 Windows 环境,我用 3 步就完成了环境搭建,全程没遇到复杂配置,特别适合新手:
1. 下载并安装 IntelliJ IDEA
作为学生,优先选择 IDEA 社区版(免费且功能满足课程设计需求)。打开 JetBrains 中文官网,在'开发者工具'中找到'IntelliJ IDEA',选择'Community'版本下载 Windows 安装包。
安装时注意两个细节:一是勾选'Add launchers dir to the PATH'(添加到环境变量),方便后续启动;二是勾选'Create Desktop Shortcut'(创建桌面快捷方式),避免后续找不到启动图标。全程点击'下一步'即可,约 5 分钟完成安装。
2. 安装 AI 插件
打开 IDEA 后,点击顶部菜单栏'File → Settings → Plugins',在右侧搜索框输入相关插件名称,找到对应插件,点击'Install'。
3. 登录 AI 工具
重启 IDEA 后,点击面板中的'立即登录',用邮箱注册账号,完成手机验证后登录。登录成功后,面板会显示'需求分析→软件设计→工程代码生成'的全流程引导,更符合学生'从想法到落地'的开发需求。
三、模块设计与编码
在 AI 工具的辅助下,我不再像以前那样'想到哪写到哪',而是按'需求描述→拆解分析→设计→编码'的流程系统化开发。以下是在线图书借阅平台的完整开发过程:
1. AI 生成基础模块
AI 工具支持口语化需求——不需要专业术语,用学生的日常表达就能精准生成代码。我在插件面板的'需求编辑器'中输入:
'生成在线图书借阅平台基础模块,包含 3 类核心实体:用户(区分学生/管理员角色,学生有学号、班级,管理员有工号)、图书(图书编号、书名、作者、分类、馆藏数量、剩余可借数量)、借阅记录(记录 ID、关联学号、关联图书编号、借阅时间、到期时间、归还状态);实现核心功能:学生注册/登录、图书查询(按书名/分类筛选)、图书借阅/续借/归还、超期提醒、管理员添加/编辑图书;技术栈:Spring Boot 3.x + MyBatis-Plus + MySQL 8.0,前端用 Thymeleaf+Bootstrap(适配电脑端,方便学生在图书馆使用)。'
提交需求后,AI 自动开始解析需求,不到 10 秒就将口语化描述拆解成 7 个可执行的关键点,还标了'必填'和'可优化'(学生可根据课程设计要求调整):
- ☑ 用户管理:需要用户管理功能,包括学生注册、登录以及管理员账户管理
- ☑ 图书管理:需要图书信息管理功能,支持添加、编辑图书信息
- ☑ 图书查询:学生按书名/分类筛选图书,显示图书详情和可借状态
- ☑ 借阅管理:需要借阅记录管理功能,包括图书借阅、续借和归还操作
- ☑ 历史记录:需要借阅状态跟踪功能,支持查看当前借阅情况及历史记录
- ☑ 超期提醒:需要超期提醒功能,自动检测并通知逾期未还的图书
- △ 控制功能:需要权限控制功能,区分学生与管理员角色访问不同模块
确认需求后,AI 自动进入'接口设计→表结构设计→处理逻辑→生成源码'环节,全程无需手动干预。最终生成的项目结构清晰,核心包与类已完整创建,省去了手动建包、写基础类的麻烦。
com.student.library
├─ entity // 实体类(映射数据库表)
│ ├─ User.java // 用户实体(学生/管理员)
│ ├─ Book.java // 图书实体
│ ├─ BorrowRecord.java // 借阅记录实体
│ └─ Category.java // 图书分类实体
├─ dto
│ ├─ UserRegisterDTO.java
│ ├─ BookAddDTO.java
│ ├─ BorrowBookDTO.java
│ └─ BookQueryDTO.java
├─ vo
│ ├─ BookDetailVO.java
│ ├─ BorrowRecordVO.java
│ └─ UserBorrowVO.java
├─ mapper
│ ├─ UserMapper.java
│ ├─ BookMapper.java
│ └─ BorrowRecordMapper.java
├─ service
│ ├─ UserService.java
│ ├─ BookService.java
│ └─ BorrowService.java
├─ controller
│ ├─ UserController.java
│ ├─ BookController.java
│ └─ BorrowController.java
└─ config
└─ WebConfig.java


