跳到内容 · Skip to content
← 所有项目

MySchool

宠物训练学校管理系统

Spring Boot + JPA 驱动的 Java Swing 桌面端管理系统,实现三角色权限控制

Java Swing desktop app with Spring Boot/JPA backend and role-based access control

Java Spring Boot Swing MySQL RBAC Java
在 GitHub 查看 ↗ 2025年10月1日

基于 Spring Boot、Spring Data JPA 和 MySQL 开发的宠物训练学校管理系统,前端为 Java Swing 桌面客户端(FlatLaf 主题引擎),涵盖课程管理、学员报名、训练师排班及宠物档案等核心功能。

指导教授:Mamoun Abu-Samaha

架构

标准分层架构,业务逻辑与界面显示解耦:Repository → Service → Swing View,Service 层通过构造器注入(DI)驱动 GUI 更新。

功能模块

  • 课程管理 — 训练项目创建、排期、容量控制
  • 学员报名 — 在线选课、退课、进度追踪
  • 训练师排班 — 日程分配与冲突检测
  • 宠物档案 — 结构化记录每只宠物的训练历史,支持图片加载与”成就墙”展示

权限设计

基于角色的访问控制(RBAC),管理员 / 训练师 / 学员三种角色对应不同的 UI 功能可见性,权限过滤在界面层和数据层同时生效。

工程细节

  • Hibernate 自动生成物理表结构(DDL Auto),配合 data.sql 保证每次启动都有可用测试数据
  • Spring Data JPA 级联删除(On Delete Cascade)保障关联数据的引用完整性
  • FlatLaf 主题引擎支持一键切换深色模式

Tech Stack

Java · Spring Boot · Spring Data JPA · Hibernate · Java Swing · FlatLaf · MySQL · Maven · JUnit