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

下面就是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日

相关文章

  • django使用channels2.x实现实时通讯

    下面我将详细介绍如何使用 Django 和 Channels 2.x 搭建实时通讯应用。 准备工作 首先,需要安装 Django 和 Channels,可以使用 pip 命令安装。假设你已经熟悉了 Django 的基本使用方法,下面就是 Channels 的部分了。 创建 Django 项目 首先,我们创建一个 Django 项目: $ django-adm…

    人工智能概览 2023年5月25日
    00
  • CentOS6.3添加nginx系统服务的实例详解

    CentOS6.3添加nginx系统服务的实例详解 问题描述 在安装完CentOS6.3以及nginx服务器后,如何将nginx服务加入系统服务,实现系统启动时自启动nginx服务? 解决方法 第一步:创建nginx服务管理脚本 在CentOS系统中,使用init.d脚本管理系统服务。因此,我们需要创建一个nginx服务管理脚本,将其放入/etc/init.…

    人工智能概览 2023年5月25日
    00
  • MVC4制作网站教程第二章 用户密码修改2.3

    首先,要完成“MVC4制作网站教程第二章 用户密码修改2.3”这个任务,我们需要按照以下步骤进行操作: 在MVC4应用程序中创建PasswordController控制器。 在PasswordController控制器中创建ChangePassword()方法,用于实现密码修改的功能。 创建对应的视图文件ChangePassword.cshtml,用于展示页…

    人工智能概览 2023年5月25日
    00
  • Python操作MongoDB数据库PyMongo库使用方法

    下面我将为你详细讲解“Python操作MongoDB数据库PyMongo库使用方法”的完整攻略。 Python操作MongoDB数据库PyMongo库使用方法 PyMongo简介 PyMongo 是官方的 Python 驱动程序。它允许 Python 开发人员快速而方便地访问和操作 MongoDB 数据库,并与其他 Python 库和框架协作。 安装 PyM…

    人工智能概论 2023年5月25日
    00
  • VS2022+libtorch+Cuda11.3安装测试教程详解(调用cuda)

    下面给您讲解“VS2022+libtorch+Cuda11.3安装测试教程详解(调用cuda)”的完整攻略。 步骤一:安装VS2022 下载VS2022安装包,可以从微软官网或者其他可靠的下载网站下载。 双击安装包进行安装,根据提示进行操作即可。 步骤二:安装Cuda11.3 下载Cuda11.3安装包,可以从NVIDIA官网或者其他可靠的下载网站下载。 双…

    人工智能概览 2023年5月25日
    00
  • django模型类中,null=True,blank=True用法说明

    下面我将详细讲解“django模型类中,null=True,blank=True用法说明”的完整攻略。 前置知识 在进行本文的学习之前,你需要了解以下一些相关的术语和概念: Django:Django 是一个用 Python 编写的高级 Web 框架,它可以快速构建出丰富、动态的网站。 模型类(Model Class):模型类是 Django 中用于描述数据…

    人工智能概论 2023年5月25日
    00
  • .netcore 使用surging框架发布到docker

    环境准备 首先我们需要准备本地的开发环境,主要包括以下几个方面: 安装 Docker 安装 Docker Compose 安装 .NET Core SDK 创建 .NET Core 应用 我们需要创建一个 .NET Core 应用,使用 Surging 框架,这里提供一个简单的示例: 使用 Visual Studio Code 打开控制台,执行以下命令: d…

    人工智能概览 2023年5月25日
    00
  • pytorch 如何实现HWC转CHW

    PyTorch 是一个广泛使用的深度学习框架,实现了大量的深度学习算法和模型,作为一个深度学习从业者,经常需要对图像处理进行相关处理,如将图像从 HWC(height、width、channel)格式转化为 CHW(channel、height、width)格式。下面将提供两种方法实现 HWC 转 CHW。 方法一: 使用 permute() 函数 PyTo…

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