Springboot整合camunda+mysql的集成流程分析
一、創(chuàng)建springboot工程
使用IDEA工具,選擇File->New->Project,選擇Spring Initialzr

輸入springboot工程基本信息,本示例命名為“camunda-demo1”, jdk版本選擇8

在選擇springboot組件的時(shí)候,需要選擇Spring Web、JDBC API、MySql Driver 這三個(gè)組件。點(diǎn)擊下一步完成即可。

二、修改maven配置
2.1、修改springboot版本號(hào)
由于camunda版本與springboot版本有匹配關(guān)系,所以需要修改springboot版本為2.4.3,
官方推薦Camunda7.1.5版本使用Spring Boot 2.4.x版本
具體配置參考camunda官方說(shuō)明文檔:https://docs.camunda.org/manual/7.15/user-guide/spring-boot-integration/version-compatibility/
Pom.xm代碼片段:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.3</version>
<relativePath/>
</parent>
2.2、引入camunda包
由于本示例要使用camunda流程引擎、web界面、Rest服務(wù)接口,所以需要導(dǎo)入camunda-bpm-spring-boot-starter、camunda-bpm-spring-boot-starter-rest、camunda-bpm-spring-boot-starter-webapp這三個(gè)依賴(lài)包,如果僅僅是使用流程引擎,只需要引入camunda-bpm-spring-boot-starter就可以了。
完整的pom.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.3</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>camunda-demo1</artifactId> <version>0.0.1-SNAPSHOT</version> <name>camunda-demo1</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.camunda.bpm.springboot</groupId> <artifactId>camunda-bpm-spring-boot-starter</artifactId> <version>7.15.0</version> </dependency> <dependency> <groupId>org.camunda.bpm.springboot</groupId> <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId> <version>7.15.0</version> </dependency> <dependency> <groupId>org.camunda.bpm.springboot</groupId> <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId> <version>7.15.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
三、修改application.yaml配置
打開(kāi)工程目錄下的main\resources\application.yaml文件,如果沒(méi)有該文件,手動(dòng)新建一個(gè),錄入如下信息。
# Find more available configuration properties on the following pages of the documentation. # https://docs.camunda.org/manual/latest/user-guide/camunda-bpm-run/#configure-camunda-bpm-run # https://docs.camunda.org/manual/latest/user-guide/spring-boot-integration/configuration/#camunda-engine-properties camunda.bpm: generic-properties.properties: javaSerializationFormatEnabled: true admin-user: id: demo password: demo run: # https://docs.camunda.org/manual/latest/user-guide/camunda-bpm-run/#cross-origin-resource-sharing cors: enabled: true allowed-origins: "*" # datasource configuration is required spring.datasource: url: jdbc:mysql://127.0.0.1:3306/camunda715?characterEncoding=UTF-8&useUnicode=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai driver-class-name: com.mysql.cj.jdbc.Driver username: root password: root # By default, Spring Boot serves static content from any directories called /static or /public or /resources or # /META-INF/resources in the classpath. To prevent users from accidentally sharing files, this is disabled here by setting static locations to NULL. # https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-spring-mvc-static-content spring.web.resources: static-locations: NULL
本示例使用的是mysql數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)URL、username、 password 跟后面數(shù)據(jù)庫(kù)信息保存一致。
四、創(chuàng)建mysql數(shù)據(jù)庫(kù)
Camunda默認(rèn)使用已預(yù)先配置好的H2數(shù)據(jù)庫(kù),本示例使用mysql數(shù)據(jù)庫(kù),需要提前創(chuàng)建mysql數(shù)據(jù)庫(kù)并導(dǎo)入Camunda建表腳本。
為Camunda平臺(tái)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)模式,名稱(chēng)為camunda715

導(dǎo)入SQL腳本。執(zhí)行創(chuàng)建所有必需的表和默認(rèn)索引的SQL DDL腳本。這些腳本可以在configuration/sql/create文件夾中找到。共2個(gè)腳本,都需要導(dǎo)入。

導(dǎo)入完成后的表結(jié)構(gòu),共40張表:

詳細(xì)配置方法參考:https://lowcode.blog.csdn.net/article/details/117564836
五、啟動(dòng)springboot工程
創(chuàng)建springboot工程的時(shí)候,自動(dòng)生成了SpringBootApplication啟動(dòng)類(lèi),運(yùn)行改類(lèi)啟動(dòng)即可。
package com.example.demo1;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class CamundaDemo1Application {
public static void main(String[] args) {
SpringApplication.run(CamundaDemo1Application.class, args);
}
}

六、登錄訪(fǎng)問(wèn)camunda
訪(fǎng)問(wèn):http://localhost:8080,
默認(rèn)賬號(hào)密碼demo/demo

登錄成功后進(jìn)入camunda控制臺(tái)

至此,完成了springboot2.4.3+camunda7.15+mysql的集成,后續(xù)的如何設(shè)計(jì)流程、如何啟動(dòng)流程、如何審批流程等操作,跟非springboot方式是一致的,請(qǐng)參考前面的文章。
https://lowcode.blog.csdn.net/article/details/117518828
https://lowcode.blog.csdn.net/article/details/118055189
以上就是Springboot整合camunda+mysql的集成實(shí)現(xiàn)方法的詳細(xì)內(nèi)容,更多關(guān)于Springboot整合camunda的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
springboot如何讀取配置文件(application.yml)中的屬性值
本篇文章主要介紹了springboot如何讀取配置文件(application.yml)中的屬性值,具有一定的參考價(jià)值,有興趣的小伙伴可以了解一下2017-04-04
java開(kāi)發(fā)環(huán)境的完整搭建過(guò)程
這篇文章主要給大家介紹了關(guān)于java開(kāi)發(fā)環(huán)境的完整搭建過(guò)程,文中介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
Spring Security中successHandler無(wú)效問(wèn)題及解決
這篇文章主要介紹了Spring Security中successHandler無(wú)效問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
Java中判斷對(duì)象是否相等的equals()方法使用教程
與==運(yùn)算符響應(yīng),equals()方法也是Java中對(duì)對(duì)象進(jìn)行比較的一大方式,要特別注意二者的不同點(diǎn),這個(gè)我們?cè)谙挛闹屑磳⒅v到,接下來(lái)我們就來(lái)看一下Java中判斷對(duì)象是否相等的equals()方法使用教程2016-05-05
IDEA 自定義方法注解模板的實(shí)現(xiàn)方法
這篇文章主要介紹了IDEA 自定義方法注解模板的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
教你怎么用Java完成人民幣大寫(xiě)轉(zhuǎn)化
這篇文章主要介紹了教你怎么用Java完成人民幣大寫(xiě)轉(zhuǎn)化,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好的幫助,需要的朋友可以參考下2021-04-04
Spring中@Autowired和@Resource注解相同點(diǎn)和不同點(diǎn)
這篇文章主要介紹了Spring中@Autowired和@Resource注解相同點(diǎn)和不同點(diǎn),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01
springmvc使用REST出現(xiàn):Request?method?'PUT'?not?sup
這篇文章主要介紹了springmvc使用REST出現(xiàn):Request?method?'PUT'?not?supported問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
java實(shí)現(xiàn)輕輕松松控制臺(tái)斗地主的示例代碼
這篇文章主要介紹了java實(shí)現(xiàn)輕輕松松控制臺(tái)斗地主,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

