Activiti工作流引擎整合系列【收藏可做笔记系列】,这份354页笔记的前端进阶知识+大厂高频面试题

本文深入分析了Activiti与Spring的整合流程,包括加载配置、SpringBoot集成、数据库配置以及SpringSecurity的整合。通过示例介绍了如何在SpringBoot应用中配置Activiti7,使用相关依赖,配置application.yml,编写启动类,以及如何处理安全框架配置。

2)、执行流程分析

下面我们一起来分析Activiti与Spring整合加载的过程。

1、加载activiti-spring.xml配置文件

2、加载SpringProcessEngineConfiguration对象,这个对象它需要依赖注入dataSource对象和transactionManager对象。

3、加载ProcessEngineFactoryBean工厂来创建ProcessEngine对象,而ProcessEngineFactoryBean工厂又需要依赖注入processEngineConfiguration对象。

4、processEngine对象来负责创建我们的Service对象,从而简化Activiti的开发过程。

二、Activiti7与SpringBoot整合开发

====================================================================================

Activiti7发布正式版之后,它与SpringBoot2.x已经完全支持整合开发。

2.1 SpringBoot整合Activiti7的配置


为了能够实现SpringBoot与Activiti7整合开发,首先我们要引入相关的依赖支持。

在工程的pom.xml文件中引入相关的依赖,其中activiti的依赖是:activiti-spring-boot-starter。

具体依赖如下所示:

org.springframework.boot

spring-boot-starter-parent

2.1.0.RELEASE

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<java.version>1.8</java.version>

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-jdbc

org.springframework.boot

spring-boot-starter-test

org.activiti

activiti-spring-boot-starter

7.0.0.Beta2

mysql

mysql-connector-java

5.1.29

org.projectlombok

lombok

org.springframework.boot

spring-boot-maven-plugin

通过该pom.xml文件所导入的坐标,我们就可以实现activiti7与Springboot整合。

2.2 SpringBoot的application.yml文件配置


为了能够实现Activiti7生成的表放到Mysql数据库中,需要在配置文件application.yml中添加相关的配置

注意:activiti7默认没有开启数据库历史记录,需要手动配置开启

spring:

datasource:

url: jdbc:mysql:///actspringboot?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT

username: root

password: 123456

driver-class-name: com.mysql.jdbc.Driver

activiti:

#1.flase:默认值。activiti在启动时,对比数据库表中保存的版本,如果没有表或者版本不匹配,将抛出异常

#2.true: activiti会对数据库中所有表进行更新操作。如果表不存在,则自动创建

#3.create_drop: 在activiti启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表)

#4.drop-create: 在activiti启动时删除原来的旧表,然后在创建新表(不需要手动关闭引擎)

database-schema-update: true

#检测历史表是否存在 activiti7默认没有开启数据库历史记录 启动数据库历史记录

db-history-used: true

#记录历史等级 可配置的历史级别有none, activity, audit, full

#none:不保存任何的历史数据,因此,在流程执行过程中,这是最高效的。

#activity:级别高于none,保存流程实例与流程行为,其他数据不保存。

#audit:除activity级别会保存的数据外,还会保存全部的流程任务及其属性。audit为history的默认值。

#full:保存历史数据的最高级别,除了会保存audit级别的数据外,还会保存其他全部流程相关的细节数据,包括一些流程参数等。

history-level: full

#校验流程文件,默认校验resources下的processes文件夹里的流程文件

check-process-definitions: false

2.3 编写启动类


package com.itheima;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public class ActApplication {

public static void main(String[] args) {

SpringApplica

案例 508:女子海边电影风格肖像照案例 507:中国各朝代时间轴案例 506:一个全新的Instagram账号案例 505:解数学题案例 504:品牌联名海报案例 503:平抛运动轨迹与速度位移分解图案例 502:老北京航拍案例 501:大唐长安插画案例 500:赛博黄历案例 499:成都旅游地图案例 498:小世界也能成就大故事案例 497:日本乡村公交车站雨夜的场景案例 496:身着一件惊艳的概念前卫礼服案例 495:微缩的温馨客厅案例 494:和路飞的一张超酷自拍案例 493:PS5的技术蓝图案例 492:根据坐标生成图片案例 491:10种不同发型案例 490:一张高分辨率的户外全身照案例 489:艺术家正在绘制自己的微型人偶案例 488:极简儿童绘画风格案例 487:图片的8种初始草图案例 486:超级赛亚人式变身过程案例 485:彩色手绘风格表情包案例 484:制作一个4×4的网格符合年代的风格案例 483:诸葛连弩的复古风格工程爆炸图案例 482:传统的中国工笔水墨画-仙女案例 481:传统的工笔风格水墨画案例 480:分格漫画手稿图案例 479:一键OOTD案例 478:全景式角色深度概念分解图案例 477:进击的巨人画风菜谱:红烧肉案例 476:菜谱-番茄炒蛋案例 475:三英飙车战吕布案例 474:任天堂明星大乱斗游戏海报全家福案例 473:年轻的亚洲女生蹲坐在水泥地的庭院中案例 472:地球达人秀案例 471:真人电影片场泄露照片案例 470:图片注解案例 469:动漫转真人案例 468:伪造抖音截图案例 467:明星合拍案例 466:14个毛茸茸的小家伙并排挤沙发上案例 465:出生到80岁各个年龄段的节日照片案例 464:rick and morty画风卡片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值