chore: connect GitLink repository history
English · 教学参考应用 · 当前版本 0.1.0
0.1.0
这是一个面向 Java 桌面开发与数据库课程学习者的 JavaFX + MongoDB 分层 CRUD 教学参考应用。它展示从 JavaFX/WebView 界面、业务校验、Repository/DAO 分层到 MongoDB 持久化、统计与 Excel 导出的完整路径。
本项目不是可直接部署到学校的生产系统。它没有登录认证、角色权限、审计、加密、备份与合规控制,也不会附带真实学生数据。
WebView
适合 JavaFX 初学者、MongoDB Java Driver 学习者、课程设计人员和希望练习分层重构的贡献者。
.xlsx
package
javafx:run
仓库已包含 Maven Wrapper,无需预装 Maven。MongoDB 需要由你自行启动;项目不会修改系统服务或固定磁盘目录。
git clone <repository-url> cd javafx-mongodb-student-manager ./mvnw --batch-mode verify
Windows PowerShell:
git clone <repository-url> Set-Location javafx-mongodb-student-manager .\mvnw.cmd --batch-mode verify
默认连接 mongodb://127.0.0.1:27017,数据库名为 student_management。可以在启动后的连接页修改,也可以预先设置:
mongodb://127.0.0.1:27017
student_management
$env:STUDENT_MONGO_URI = "mongodb://127.0.0.1:27017" $env:STUDENT_MONGO_DATABASE = "student_management"
Linux/macOS:
export STUDENT_MONGO_URI='mongodb://127.0.0.1:27017' export STUDENT_MONGO_DATABASE='student_management'
也可以使用 JVM 系统属性,优先级高于环境变量:
./mvnw -Dstudent.mongo.uri=mongodb://127.0.0.1:27017 \ -Dstudent.mongo.database=student_management javafx:run
./mvnw javafx:run
Windows:
.\mvnw.cmd javafx:run
也可以双击 快速启动.bat;它只是 Windows 可选入口,内部仍优先调用 Maven Wrapper。
快速启动.bat
清理数据库.bat
STUDENT_MONGO_URI
student.mongo.uri
STUDENT_MONGO_DATABASE
student.mongo.database
STUDENT_MONGO_SHELL_URI
系统属性优先于环境变量。.env.example 仅是配置参考;Java 应用不会自动读取 .env 文件。
.env.example
.env
flowchart LR UI["JavaFX + WebView UI"] --> Service["StudentService"] Service --> Port["StudentRepository"] Port --> DAO["StudentDAO"] DAO --> Mongo[(MongoDB)] UI --> Exporter["StudentExcelExporter"] Exporter --> XLSX["Local XLSX file"]
src/main/java/com/student/management/ ├─ config/ # 环境配置与连接串遮盖 ├─ controller/ # JavaFX/FXML 与 WebView 桥接 ├─ service/ # 校验、CRUD 协调和统计 ├─ repository/ # 持久化端口 ├─ dao/ # MongoDB 实现 ├─ database/ # 连接生命周期 ├─ export/ # 可独立测试的 XLSX 导出 ├─ model/ # 领域对象与验证结果 └─ util/ # 虚构数据初始化等工具
更多说明见 架构文档、演示数据说明 和 配置说明。
./mvnw --batch-mode test ./mvnw --batch-mode package ./mvnw --batch-mode verify
测试使用 JUnit 5 和临时目录,不访问真实 MongoDB、不写入仓库中的 Excel 文件。CI 从全新检出执行 verify;秘密扫描位于独立工作流。
verify
example.invalid
jlink
jpackage
欢迎修正文档、补测试和改善错误提示。提交前请阅读 CONTRIBUTING.md 与 CODE_OF_CONDUCT.md。安全问题不要提交公开 Issue,请遵循 SECURITY.md。
项目由课程型原型演化而来;当前目标是提供诚实、可复现的教学参考,而不是把课程作品包装成生产产品。
代码以 MIT License 提供。公开发布前,仓库所有者仍需在 发布审计 中确认其对全部代码和素材具有授权权利。第三方组件见 THIRD_PARTY_NOTICES.md。
面向 Java 桌面开发与数据库学习者的 JavaFX + MongoDB 分层 CRUD 参考应用,包含校验、统计与 Excel 导出。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
JavaFX MongoDB Student Manager
English · 教学参考应用 · 当前版本
0.1.0这是一个面向 Java 桌面开发与数据库课程学习者的 JavaFX + MongoDB 分层 CRUD 教学参考应用。它展示从 JavaFX/WebView 界面、业务校验、Repository/DAO 分层到 MongoDB 持久化、统计与 Excel 导出的完整路径。
为什么值得看
WebView复用 HTML/CSS/JavaScript 界面。适合 JavaFX 初学者、MongoDB Java Driver 学习者、课程设计人员和希望练习分层重构的贡献者。
核心能力
.xlsx,文本字段保持为字符串;能力边界
package生成的是普通 Maven JAR,不是包含依赖和 JavaFX 运行时的独立可执行包;请使用javafx:run启动。快速开始
前置条件
仓库已包含 Maven Wrapper,无需预装 Maven。MongoDB 需要由你自行启动;项目不会修改系统服务或固定磁盘目录。
1. 获取并验证项目
Windows PowerShell:
2. 配置 MongoDB(可选)
默认连接
mongodb://127.0.0.1:27017,数据库名为student_management。可以在启动后的连接页修改,也可以预先设置:Linux/macOS:
也可以使用 JVM 系统属性,优先级高于环境变量:
3. 启动
Windows:
也可以双击
快速启动.bat;它只是 Windows 可选入口,内部仍优先调用 Maven Wrapper。4. 验证
清理数据库.bat。配置
STUDENT_MONGO_URIstudent.mongo.urimongodb://127.0.0.1:27017STUDENT_MONGO_DATABASEstudent.mongo.databasestudent_managementSTUDENT_MONGO_SHELL_URI系统属性优先于环境变量。
.env.example仅是配置参考;Java 应用不会自动读取.env文件。架构
flowchart LR UI["JavaFX + WebView UI"] --> Service["StudentService"] Service --> Port["StudentRepository"] Port --> DAO["StudentDAO"] DAO --> Mongo[(MongoDB)] UI --> Exporter["StudentExcelExporter"] Exporter --> XLSX["Local XLSX file"]更多说明见 架构文档、演示数据说明 和 配置说明。
测试与构建
测试使用 JUnit 5 和临时目录,不访问真实 MongoDB、不写入仓库中的 Excel 文件。CI 从全新检出执行
verify;秘密扫描位于独立工作流。数据与隐私
example.invalid、虚构地址和“示例学生”名称;Roadmap
jlink/jpackage生成经过验证的桌面分发包;参与贡献
欢迎修正文档、补测试和改善错误提示。提交前请阅读 CONTRIBUTING.md 与 CODE_OF_CONDUCT.md。安全问题不要提交公开 Issue,请遵循 SECURITY.md。
项目由课程型原型演化而来;当前目标是提供诚实、可复现的教学参考,而不是把课程作品包装成生产产品。
许可证
代码以 MIT License 提供。公开发布前,仓库所有者仍需在 发布审计 中确认其对全部代码和素材具有授权权利。第三方组件见 THIRD_PARTY_NOTICES.md。