Spring Boot + Thymeleaf + Activiti 快速开发平台项目 附源码

yizhihongxing

下面就是Spring Boot + Thymeleaf + Activiti快速开发平台项目的完整攻略。

项目简介

该项目是一个使用Spring Boot和Thymeleaf作为前端模板引擎,Activiti作为工作流引擎的快速开发平台项目,通过该项目可以快速搭建企业级应用程序。项目的主要功能包括:用户登陆、用户管理、角色管理、菜单权限管理、部门管理、工作流管理等。

运行环境

  • JDK 1.8
  • Maven 3.0+
  • MySQL 5.5+
  • Spring Boot 2.0
  • Thymeleaf 3.0+
  • Activiti 6.0

项目目录结构

activiti-springboot-thymeleaf-platform
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── qinzy
│   │   │           └── platform
│   │   │               ├── ActivitiSpringbootThymeleafPlatformApplication.java  //启动类
│   │   │               ├── config          //Spring Boot配置类
│   │   │               ├── controller      //控制器类
│   │   │               ├── dao             //DAO层接口与实现类
│   │   │               ├── entity          //持久化实体类
│   │   │               ├── exception       //异常处理类
│   │   │               ├── service         //服务层接口与实现类
│   │   │               └── utils           //工具类
│   │   └── resources
│   │       ├── static                      //静态资源
│   │       └── templates                   //页面模板
│   └── test                                //测试目录
└── pom.xml                                 //Maven配置文件

项目搭建步骤

步骤一:创建Spring Boot项目

首先,我们需要使用Spring Initializr快速创建一个Spring Boot项目:

  1. 打开Spring Initializr页面;

  2. 选择“Maven Project”为项目类型;

  3. 输入“Group”、“Artifact”和“Name”等基本信息;

  4. 选择“Spring Boot Version”并勾选上“Thymeleaf”等项目依赖;

  5. 点击“Generate Project”按钮生成项目文件并下载。

步骤二:添加Activiti工作流引擎

在项目的pom.xml文件中添加Activiti的依赖:

<dependency>
  <groupId>org.activiti</groupId>
  <artifactId>activiti-spring-boot-starter-basic</artifactId>
  <version>${activiti.version}</version>
</dependency>

在application.yml配置文件中添加Activiti的配置:

spring:
  activiti:
    database-schema-update: true
    servlet:
      enabled: false

步骤三:集成Thymeleaf模板引擎

在pom.xml文件中添加Thymeleaf、Thymeleaf Layout Dialect等依赖:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

<dependency>
  <groupId>nz.net.ultraq.thymeleaf</groupId>
  <artifactId>thymeleaf-layout-dialect</artifactId>
  <version>2.2.2</version>
</dependency>

在application.yml文件中添加Thymeleaf的配置项:

spring:
  thymeleaf:
    mode: HTML
    encoding: UTF-8
    cache: false
    servlet:
      content-type: text/html

步骤四:创建数据库及表结构

使用MySQL数据库并创建一个名为“activiti”的数据库,然后执行项目中的脚本文件“项目目录结构/src/main/resources/db.sql”创建表结构和初始数据。

步骤五:编写实体类

在entity包下创建需要持久化的实体类,如“User”、“Role”、“Permission”、“Department”等。

步骤六:编写DAO层接口和实现类

在dao包下创建需要持久化的实体类的对应的DAO层接口和实现类,如“UserDao”、“RoleDao”、“PermissionDao”、“DepartmentDao”等,用于实现数据的访问和持久化。

步骤七:编写服务层接口和实现类

在service包下创建服务层接口和实现类,如“UserService”、“RoleService”、“PermissionService”、“DepartmentService”等,用于实现具体业务逻辑。

步骤八:编写控制器类

在controller包下创建控制器类,如“UserController”、“RoleController”、“PermissionController”、“DepartmentController”等,用于接收和处理客户端提交的请求,并将其转化为具体的子服务请求。

步骤九:编写静态资源

在static目录下创建css、js、images等目录,并存放对应的静态资源文件;

步骤十:编写页面模板

在templates目录下创建需要用到的页面模板,如“index”、“login”、“user”、“role”、“department”等。

示例说明

下面简单介绍两个示例:

示例一:实现用户管理功能

  1. 新建一个User实体类,包含id、username、password、realname、email等字段;

  2. 在UserDao中编写findUserByUsernameAndPassword()方法,实现根据用户名和密码查询用户的功能;

  3. 在UserService中编写findUserByUsernameAndPassword()方法,调用UserDao中的findUserByUsernameAndPassword()方法,实现根据用户名和密码查询用户的功能;

  4. 在UserServiceImpl中实现findUserByUsernameAndPassword()方法;

  5. 在UserController中编写/login请求处理方法,接收客户端传递的用户名和密码数据,调用UserService中的findUserByUsernameAndPassword()方法进行验证,并返回相应的页面。

示例二:实现工作流审批功能

  1. 在department实体类中添加activitiGroupId字段;

  2. 在DepartmentDao中添加findDepartmentsByActivitiGroupId()方法,依据activitiGroupId查询部门;

  3. 调用flowable提供的api,编写createUser、createGroup、createMembership、createDeployment、createProcessInstance、completeTask方法,实现工作流的审批流程;

  4. 在对应的Controller中编写处理方法,接收前端传过来的流程相关信息,调用上一步编写的方法来启动工作流审批流程,并返回相应的页面。

源码获取

该项目源码可以在https://github.com/qinzy/activiti-springboot-thymeleaf-platform获取,直接下载并导入即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot + Thymeleaf + Activiti 快速开发平台项目 附源码 - Python技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • 在CentOS下使用Munin来监控服务器运行的方法

    下面是在CentOS下使用Munin来监控服务器运行的完整攻略: 1. 安装Munin Munin是一个开源的监控系统,可以监控服务器的资源使用情况。我们可以通过yum命令来安装Munin: sudo yum install munin munin-node -y 2. 配置Munin Munin的配置文件位于/etc/munin目录下,我们可以在此目录下找…

    人工智能概览 2023年5月25日
    00
  • Pytorch 实现自定义参数层的例子

    下面我为您讲解一下 Pytorch 实现自定义参数层的完整攻略。 什么是自定义参数层? 在 Pytorch 中,我们可以自己定义一些层,例如全连接层、卷积层等。但是有些时候我们需要自定义层,这时候我们就需要自定义参数层,它可以包含自己定义的参数,并根据这些参数进行计算。 自定义参数层的实现步骤 下面是实现自定义参数层的步骤: 1. 继承torch.nn.Mo…

    人工智能概论 2023年5月25日
    00
  • PHPExcel导出2003和2007的excel文档功能示例

    为了实现PHPExcel导出2003和2007的excel文档功能,我们需要进行以下步骤: 步骤一:安装PHPExcel 可以通过Composer安装PHPExcel,或者直接下载PHPExcel的源代码压缩包解压到项目的目录下。以下是通过Composer安装的步骤: 在项目根目录下执行以下命令: composer require phpoffice/php…

    人工智能概论 2023年5月25日
    00
  • python操作mysql代码总结

    下面进行详细讲解。 Python操作MySQL代码总结 介绍 MySQL是一种流行的关系型数据库管理系统,由于其开源性、性能稳定性和高可靠性等优点,被广泛运用于企事业单位的数据存储中。Python作为一种高级语言,具有良好的语法和丰富的库支持,同时也有着较好的数据处理能力。在Python中使用MySQL进行数据处理和存储,也是一项非常长奇便捷的工作。 安装P…

    人工智能概论 2023年5月25日
    00
  • Spring Boot之搞定mongoTemplate的知识小结

    Spring Boot之搞定mongoTemplate的知识小结 什么是mongoTemplate mongoTemplate是Spring Data Mongo中的核心类之一,它提供了基本的CRUD操作,以及聚合等数据操作方式。mongoTemplate可以看作是对mongoDB进行操作的代理人,我们可以通过它进行数据的增删改查。 如何在Spring Bo…

    人工智能概论 2023年5月24日
    00
  • SciPy中两个模块:io 和misc的使用

    SciPy是一个基于Python的科学计算库,提供了丰富的科学计算功能。其中,io和misc是SciPy中两个十分重要的模块,下面就详细讲解一下。 1. io模块 io模块提供了读取、写入各种文件格式(mat、wav、arff等等)的功能,下面就来看一下其中两个函数的具体用法。 1.1 scipy.io.wavfile scipy.io.wavfile是用于…

    人工智能概论 2023年5月25日
    00
  • MongoDB如何正确中断正在创建的索引详解

    当我们在MongoDB中创建索引时,可能会遇到因为一些未知原因导致索引创建失败的情况。此时,我们需要中断正在创建的索引,才能重新创建这个索引或者进行其他操作。 以下是MongoDB如何正确中断正在创建的索引的步骤: 查找正在创建的索引进程 要查找正在进行的索引创建进程,我们可以使用下面的命令: db.currentOp({"msg" : …

    人工智能概论 2023年5月25日
    00
  • C# .NET实现扫描识别图片中的文字

    让我来为您讲解一下 “C# .NET 实现扫描识别图片中的文字” 的攻略。 1. 简介 为了实现扫描识别图片中的文字,可以使用著名的 Tesseract OCR 引擎来进行实现。Tesseract 是 Google 开源的一个 OCR 引擎,可用于识别许多不同语言的文本。我们可以在 C# .NET 中使用 Tesseract OCR 引擎,来将图片中的文字读…

    人工智能概论 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部