创建Spring Boot项目

首先打开你喜欢的 IDE,新建一个空的Maven项目,本次的案例是“贷款审批”,所以项目名命名为loan-approval-spring-boot,groupId为org.example

也可以使用命令行创建

mvn archetype:generate -DgroupId=org.example -DartifactId=loan-approval-spring-boot -Dversion=1.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinactiveMode=false

配置Maven依赖

接下来添加 Maven 依赖,Maven依赖需要添加到项目根目录下的 pom.xml 文件中。我们需要将 Spring Boot 依赖添加到 “dependency management” 中,然后将 Camunda Spring Boot Starter 添加为依赖,这将提供 Camunda 流程引擎和自带的 WebApp ;为简单起见,数据库使用嵌入式H2数据库;最后添加 spring-boot-maven-plugin ,它会将Spring Boot项目打包在一起。最终完成后效果如下:

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>loan-approval-spring-boot</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <camunda.spring-boot.version>7.15.0</camunda.spring-boot.version>
        <spring-boot.version>2.4.4</spring-boot.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.camunda.bpm.springboot</groupId>
            <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
            <version>${camunda.spring-boot.version}</version>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.2.3</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

为项目添加主类

接下来,我们将为应用添加可以运行的主类,在 src/main/java 下新建一个类,类名为WebappExampleProcessApplication,包名为 org.example.loanapproval

如果使用命名行创建项目,会存在一个自带的App.java主类 ,这个不需要,删除即可

Spring Boot的主类需要添加 @SpringBootApplication 注解,最后完成的效果如下:

package org.example.loanapproval;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class WebappExampleProcessApplication {

    public static void main(String... args) {
        SpringApplication.run(WebappExampleProcessApplication.class, args);
    }
}

到此第一部分结束,如果想直接获取到现在为止的进度,可以下载zip包,或者使用如下命令

git clone https://gitee.com/zoollcar/camunda-get-started-spring-boot-and-dmn.git
git checkout -f Step-1

配置项目

Camunda Spring Boot 自带了最佳实践配置,这些配置会在启动时自动启用,如果要覆盖部分配置,可以在 resources 中新增 application.yamlapplication.properties,默认配置的具体内容可以查看 https://docs.camunda.org/manual/latest/user-guide/spring-boot-integration/configuration/#camunda-engine-properties

自定义管理员账户

让我们在 src/main/resources 下创建 application.yaml文件,输入如下内容:

camunda.bpm:
  admin-user:
    id: demo
    password: demo
    firstName: Demo
  filter:
    create: All tasks

以上配置将使用 demo 作为管理员用户名密码,在Tasklist中添加 All tasks 过滤器

编译运行

IDE通常有工具可以直接编译运行,使用工具运行即可

也可以使用命令行运行:

mvn package
java -jar target/loan-approval-spring-boot-1.0-SNAPSHOT.jar

运行后打开浏览器访问:http://localhost:8080/ ,会自动打开登录界面,可以使用 demo/demo 登录,然后打开 Tasklist,可以看到 “All tasks”也被创建出来了。

image-20210529112402835

到此第二部分结束,如果想直接获取到现在为止的进度,可以下载zip包,或者使用如下命令

git clone https://gitee.com/zoollcar/camunda-get-started-spring-boot-and-dmn.git
git checkout -f Step-2