Files
java/Project/assetmanager/docs/directory-structure.md
2026-05-26 20:47:59 +08:00

9.9 KiB
Raw Permalink Blame History

资产管理系统 — 项目文件目录结构

assetmanager/
│
├── pom.xml                              # Maven项目配置文件管理依赖mysql-connector、jfreechart等
│
├── docs/                                # 项目文档目录
│   ├── architecture-design.md           # 软件架构设计文档
│   ├── directory-structure.md           # 本文件:目录结构说明
│   └── sql/                             # SQL脚本目录
│       └── init.sql                     # 数据库初始化脚本(建库、建表、初始数据)
│
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── asset/
│   │   │           │
│   │   │           ├── App.java                         # 应用程序入口类含main方法启动登录界面
│   │   │           │
│   │   │           ├── entity/                          # 实体层与数据库表对应的JavaBean
│   │   │           │   ├── User.java                    # 用户实体对应t_user表
│   │   │           │   ├── Asset.java                   # 资产实体对应t_asset表
│   │   │           │   ├── Category.java                # 分类实体对应t_category表
│   │   │           │   ├── Borrow.java                   # 借用实体对应t_borrow表
│   │   │           │   └── Disposal.java                 # 报废实体对应t_disposal表
│   │   │           │
│   │   │           ├── dao/                             # 数据访问层:直接操作数据库
│   │   │           │   ├── BaseDAO.java                  # DAO基类封装通用CRUD操作增删改查模板
│   │   │           │   ├── UserDAO.java                 # 用户数据访问,登录验证、注册、查询
│   │   │           │   ├── AssetDAO.java                # 资产数据访问资产CRUD、多条件查询
│   │   │           │   ├── CategoryDAO.java             # 分类数据访问分类CRUD、引用检查
│   │   │           │   ├── BorrowDAO.java               # 借用数据访问借用CRUD、状态更新
│   │   │           │   └── DisposalDAO.java              # 报废数据访问报废CRUD、状态更新
│   │   │           │
│   │   │           ├── service/                         # 业务逻辑层:封装业务规则与校验
│   │   │           │   ├── UserService.java              # 用户业务逻辑,登录、注册、权限校验
│   │   │           │   ├── AssetService.java             # 资产业务逻辑资产CRUD、状态流转
│   │   │           │   ├── CategoryService.java          # 分类业务逻辑分类CRUD、删除引用检查
│   │   │           │   ├── BorrowService.java             # 借用业务逻辑,借用/归还/审批流程
│   │   │           │   ├── DisposalService.java          # 报废业务逻辑,报废申请/审批流程
│   │   │           │   └── StatService.java              # 统计业务逻辑,各维度数据聚合查询
│   │   │           │
│   │   │           ├── util/                            # 工具类目录
│   │   │           │   ├── DBUtil.java                   # 数据库工具类,连接获取/释放、资源关闭
│   │   │           │   ├── MD5Util.java                  # MD5加密工具密码加密
│   │   │           │   ├── ValidatorUtil.java            # 表单校验工具,通用校验方法集合
│   │   │           │   └── DateUtil.java                 # 日期工具类,日期格式转换
│   │   │           │
│   │   │           ├── exception/                       # 自定义异常目录
│   │   │           │   ├── BusinessException.java        # 业务异常,封装业务逻辑错误信息
│   │   │           │   └── DBException.java              # 数据库异常,封装数据库操作错误信息
│   │   │           │
│   │   │           └── view/                            # 表示层Swing界面
│   │   │               ├── LoginFrame.java               # 登录窗口,用户名/密码输入与验证
│   │   │               ├── RegisterDialog.java            # 注册对话框,新用户注册表单
│   │   │               ├── MainFrame.java                 # 主窗口,菜单导航+功能面板容器
│   │   │               ├── panel/                        # 功能面板目录
│   │   │               │   ├── AssetPanel.java            # 资产管理面板,资产列表+增删改查操作
│   │   │               │   ├── CategoryPanel.java         # 分类管理面板,分类列表+增删改操作
│   │   │               │   ├── BorrowPanel.java           # 借用管理面板,借用申请/审批/归还
│   │   │               │   ├── DisposalPanel.java         # 报废管理面板,报废申请/审批
│   │   │               │   ├── StatPanel.java            # 统计面板,图表展示各类统计数据
│   │   │               │   └── UserPanel.java             # 用户管理面板,用户列表+角色管理(管理员)
│   │   │               ├── dialog/                       # 弹窗对话框目录
│   │   │               │   ├── AssetDialog.java           # 资产新增/编辑对话框,含表单校验
│   │   │               │   ├── CategoryDialog.java        # 分类新增/编辑对话框
│   │   │               │   ├── BorrowDialog.java          # 借用申请对话框,选择资产+填写原因
│   │   │               │   ├── DisposalDialog.java        # 报废申请对话框,选择资产+填写原因
│   │   │               │   ├── ApproveDialog.java        # 审批对话框,同意/拒绝+备注
│   │   │               │   └── ChangePasswordDialog.java  # 修改密码对话框
│   │   │               └── model/                        # 表格数据模型目录
│   │   │                   ├── AssetTableModel.java       # 资产表格模型JTable数据适配
│   │   │                   ├── BorrowTableModel.java      # 借用表格模型
│   │   │                   ├── DisposalTableModel.java   # 报废表格模型
│   │   │                   └── UserTableModel.java        # 用户表格模型
│   │   │
│   │   └── resources/
│   │       ├── db.properties                            # 数据库连接配置URL/用户名/密码)
│   │       └── log.properties                           # 日志配置文件
│   │
│   └── test/
│       └── java/
│           └── com/
│               └── asset/
│                   ├── dao/                              # DAO层单元测试
│                   │   └── UserDAOTest.java
│                   ├── service/                          # Service层单元测试
│                   │   └── UserServiceTest.java
│                   └── util/                             # 工具类单元测试
│                       └── ValidatorUtilTest.java
│
└── lib/                                                 # 第三方JAR包目录Maven未管理时备用
    └── (mysql-connector-java-x.x.x.jar)

目录功能注释汇总

目录/文件 层次 职责说明
pom.xml 构建 Maven项目对象模型声明依赖mysql-connector、jfreechart、编译配置
docs/ 文档 存放项目文档含架构设计、目录说明、SQL脚本
docs/sql/init.sql 数据库 MySQL初始化脚本建库建表、外键约束、初始管理员数据
App.java 入口 程序main方法入口初始化Look&Feel启动LoginFrame
entity/ 实体层 与数据库表一一对应的JavaBean含属性+getter/setter
dao/ 数据访问层 封装JDBC操作BaseDAO提供通用CRUD模板子类实现特定查询
dao/BaseDAO.java 数据访问层 通用CRUD模板方法减少子类重复代码
service/ 业务逻辑层 封装业务规则、数据校验、事务控制调用DAO完成数据操作
util/ 工具层 通用工具类DBUtil管理连接、MD5Util加密、ValidatorUtil校验、DateUtil日期转换
exception/ 异常层 自定义异常类BusinessException处理业务错误DBException处理数据库错误
view/ 表示层 Swing界面类LoginFrame/MainFrame为顶层窗口
view/panel/ 表示层 功能面板嵌入MainFrame的内容区域各模块独立面板
view/dialog/ 表示层 弹窗对话框,用于新增/编辑/审批等操作,含表单校验逻辑
view/model/ 表示层 JTable表格模型继承AbstractTableModel适配数据到表格显示
resources/ 配置 数据库连接配置、日志配置等properties文件
test/ 测试 单元测试目录结构镜像main/java

分层调用关系

App.java (启动)
   │
   ▼
view/ (LoginFrame → MainFrame → panel/dialog)
   │  用户操作触发事件
   ▼
service/ (业务校验 + 业务逻辑)
   │  调用DAO操作数据
   ▼
dao/ (JDBC → MySQL)
   │  获取连接
   ▼
util/DBUtil (连接管理)
   │
   ▼
MySQL (asset_db)

关键调用规则:

  • view → service → dao严禁跨层调用view不可直接调dao
  • entity被所有层共享仅作为数据载体
  • util被service/dao/view按需调用
  • exception由service/dao抛出view层捕获展示