快速入门

本教程通过构建一个简单的全栈 Web 应用程序介绍 Jmix 的基础知识。教程涵盖了完整的开发过程,从数据建模到创建 UI 以及管理访问权限。

熟悉 Java 和关系数据库是能完成本教程的必要条件。

除了本向导之外,还可以在 Udemy 上参加我们的免费 全栈 Java Web 开发 课程。

课程和本向导介绍了相同的产品概念。

安装

请按照 配置 部分的介绍先检查系统要求并安装 Jmix Studio 和 JDK。

示例应用程序

我们将构建一个应用程序,用于对新员工入职(onboarding)流程进行自动化。公司的每个部门(department)有人力资源(HR)经理,负责注册新员工并为新员工分配一组入职任务。新员工可以查看任务并且标记任务完成。

完整的应用程序代码在 GitHub 仓库: jmix-framework/jmix-onboarding-2。我们建议按照本教程的说明一步一步地创建应用程序,但是如果只想研究已经完成的应用程序,可以克隆仓库并按照 打开已有项目 的介绍打开并运行。

下面我们详细了解数据模型、用户角色并熟悉一下将构建的用户界面。

数据模型

创建 Jmix 应用程序一般从设计数据模型开始。下面是入职示例应用的模型。

data model diagram

应用程序中,核心的实体是 User。其中包含用户的登录名和其他属性,还有入职时间和入职流程状态。用户属于某个部门,通过关联的 Department 实体实现。

Deparment 实体定义公司的一个部门。包含部门名称和 HR 经理,经理负责注册部门新员工的用户。

Step 实体定义某一个入职的步骤,比如 "Safety briefing - 安全简介","Fill in profile - 填写个人资料" 等。一个步骤具有名称和时长,时长表示员工入职后需要在多少天内完成该步骤。sortValue 属性设置步骤在列表中的顺序。

UserStep 实体表示特定用户的某一入职步骤。将 UserStep 实体进行关联,并添加了 dueDate - 到期时间completedDate - 完成时间 属性。到期时间是用户入职的时间加上步骤的时长计算得出。完成时间是当用户标记该步骤完成时的当前时间。

用户角色

示例应用程序支持下列用户角色:

  • Administrators 具有系统的完全控制权限。能看到所有用户、设置入职步骤、部门并能分配 HR 经理。

    admin ui 1
  • HR Managers 能在部门内部注册新员工并为其指定入职流程步骤,启动流程。还能跟踪部门内员工入职流程的进度。

    hr manager ui 1
  • Employees 能看到自己的入职流程步骤,并标记完成。

    employee ui 1