SpringBoot整合Activiti5.22.0實現在線設計器

參考:https://www.bilibili.com/video/av36668918?from=search&seid=8976141060328773015

參考:http://jmysql.com/activiti/126.html

參考:https://www.cnblogs.com/rmxd/p/11715016.html

參考:https://www.jianshu.com/p/cf766a713a86

目錄


一、概述

  網上有很多關於Eclipse、IDEA等IDE插件通過拖拽的方式來畫工作流程圖,個人覺得還是不夠好,所以花點時間研究了一下Activiti在線設計器,並與SpringBoot整合。

二、實現效果

 三、實現過程

1.Activiti官網下載:https://www.activiti.org/get-started(我這裏使用的是5.22.0版本)

  解壓:activiti-5.22.0\wars\activiti-explorer,如下圖

  

2.設計器前端部分

  僅保留一些靜態資源就行了,將這些文件放入項目的web目錄下。

  

  在editor-app/app-cfg.js中配置一下項目url。這個url是編輯器相關的後臺服務的url。(當然你也可以根據你的需求改動)

  

   注:

    ①editor-app就是編輯器、modeler.html就是編輯器的入口頁面

    ②diagram-viewer是流程跟蹤插件

    ③界面組件:stencilset.json。本身是英文的,可以通過替換它來實現漢化的效果

3.設計器後端部分

  下載Acitiviti源碼:https://github.com/Activiti/Activiti/releases/tag/activiti-5.22.0

①添加pom依賴

        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-modeler</artifactId>
            <version>${activiti.version}</version>
        </dependency>

        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-diagram-rest</artifactId>
            <version>${activiti.version}</version>
        </dependency>

②其中需要將modeler模塊的源代碼放到src中,因爲需要在其中做部分修改,主要是url的映射。

其中有3個類,都是Controller:

①ModelSaveRestResource:#編輯器製圖之後,將節點信息以json的形式提交給這個Controller,然後由其進行持久化操作。(所在源碼位置:Activiti-activiti-5.22.0\modules\activiti-modeler\src\main\java\org\activiti\rest\editor\model)

②ModelEditorJsonRestResource:#根據modelId獲取model的節點信息,編輯器根據返回的json進行繪圖。(源碼所在位置:Activiti-activiti-5.22.0\modules\activiti-modeler\src\main\java\org\activiti\rest\editor\model)

③StencilsetRestResource #獲取編輯器組件及配置項信息(源碼所在位置:Activiti-activiti-5.22.0\modules\activiti-modeler\src\main\java\org\activiti\rest\editor\main)

需要修改的地方就三個,在每個Controller類上加上@RequestMapping註解,並指定值爲"service"(對應前臺app-cfg.js中配置的url)。

③主類添加掃描

 ④瀏覽器訪問:http://localhost/model-list.html

 ⑤繪畫HelloWorld業務流程圖

 ⑥首頁查看和部署

 ⑤通過SQLyog查看數據庫二進制表:剛剛繪製部署完成的二進制表已經存入數據庫

  至此、SpringBoot整合Activiti在線設計器已經完成,大家有問題可以一起討論下,說不定你現在出現的問題就是我已經出現過的呢,哈,另外該代碼地址:https://github.com/Simple-Coder/springboot-activiti

  在畫完流程圖併發布部署以後,接下來就是在實戰中使用SpringBoot項目結合Activiti實現員工請假的流程,如下:Activiti+Shiro實戰

參考:http://jmysql.com/activiti/126.html(如有侵權,請聯繫刪除)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章