资讯动态

[5-03-02].第05节:Activiti基础 - 第1步-集成流程引擎

发布时间:2026/9/13 11:17:30 来源:尧图企业网站定制
Activiti大纲一、创建SpringBoot基础工程步骤1建model:二、SpringBoot整合Activity7步骤1改pom:a.配置hiss-centerpom文件1.在hiss-center根项目中的pom.xml文件中导入activiti依赖propertiesactiviti.version7.10.0/activiti.version/propertiesdependencyManagementdependenciesdependencygroupIdorg.activiti/groupIdartifactIdactiviti-dependencies/artifactIdversion${activiti.version}/versionscopeimport/scopetypepom/type/dependency/dependencies/dependencyManagement2.设定Activiti仓库地址Activiti有些jar包未上传到中央仓库因此使用的时候需要添加Activiti的仓库这里推荐直接在hiss-center的pom.xml文件中添加避免对其它项目影响repositoriesrepositoryidactiviti-releases/idurlhttps://artifacts.alfresco.com/nexus/content/repositories/activiti-releases/url/repository/repositoriesb.配置子模块demo-activiti的pom文件1.为了能够实现SpringBoot与Activiti7整合开发首先我们要引入相关的依赖支持在子模块demo-activiti的pom文件中引入dependencygroupIdorg.activiti/groupIdartifactIdactiviti-spring-boot-starter/artifactId/dependency2.另外Activiti需要使用到数据库它支持Mysql、Oracle、Postgres等多种数据库本课程选用常见的Mysql因此还需要导入数据库驱动和Mybatis-Plus ORM依赖dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactId/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependency步骤3写子模块demo-activiti的yml1.为了能够实现Activiti7生成的表放到Mysql数据库中需要在配置文件application.yml中添加相关的配置2.注意activiti7默认没有开启数据库历史记录需要手动配置开启server:port:8081spring:datasource:url:jdbc:mysql://192.168.148.6:3306/hiss-dev-demo?useUnicodetruecharacterEncodingUTF-8serverTimezoneUTCnullCatalogMeansCurrenttrueusername:rootpassword:87sdhf298TYUUIz2!driver-class-name:com.mysql.jdbc.Driveractiviti:#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:falsemain:allow-bean-definition-overriding:truemybatis-plus:configuration:log-impl:org.apache.ibatis.logging.stdout.StdOutImpl3.建库建表步骤4配置Bean1.在Activiti7中它默认集成了SpringSecurity内部还使用到了SpringSecurity系列的上下文代码不能直接排除掉因此在此还需要给定一些SpringSecurity的初始配置Bean2.SpringSecurity说明Activiti依赖引入后就强制我们使用SpringSecurity但是不需要使用显得非常臃肿、不优雅那么在本项目中为避开对SpringSecurity的使用直接把SpringSecurity相关配置置空即可UserGroupManager用于流程中获取用户的组、角色等信息SecurityManager用于获取当前操作授权的用户、组或角色等信息BeanpublicUserGroupManageruserGroupManager(){returnnewUserGroupManager(){OverridepublicListStringgetUserGroups(Strings){returnnull;}OverridepublicListStringgetUserRoles(Strings){returnnull;}OverridepublicListStringgetGroups(){returnnull;}OverridepublicListStringgetUsers(){returnnull;}};}BeanpublicSecurityManagersecurityManager(){returnnewSecurityManager(){OverridepublicStringgetAuthenticatedUserId(){returnmiukoo-user-1;}OverridepublicListStringgetAuthenticatedUserGroups()throwsSecurityException{returnnull;}OverridepublicListStringgetAuthenticatedUserRoles()throwsSecurityException{returnnull;}};}步骤5编写启动类packagecom.itheima;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplicationpublicclassActApplication{publicstaticvoidmain(String[]args){SpringApplication.run(ActApplication.class,args);}}三、启动测试2.1.控制台日志1.到此我们就完成了集成的主要工作接下来就是先验证一下集成结果。2.针对Activiti7的集成验证只需要启动服务看看是否报错是否创建成功表如果控制台没有报错并且数据库中也成功创建了表那么就算集成成功了2.2.数据库1.数据库成功的创建了相关25张表2.hiss开头的表是后面的学习中需要使用到的业务表具体SQL已经放在附件中可以点击下载四、踩坑总结4.1.踩坑11.我在建项目的时候使用的是JDK8版本然后视频中的讲解的时候jdk11然后我就切换成jdk11但是报了一个错误是2.我参照了这篇文章进行了解决了更改了maven中的jdk配置、IDEA中的jdk版本4.2.踩坑2我因为在建项目的时候为了方便对多个模块的管理我在父工程中的pom文件使用了dependenceManagement标签来统一使用的依赖的版本但是一开始我在父工程中部分依赖没有写版本号以为有默认版本然后在子模块中使用该依赖的时候发现需要写依赖版本号否则报错。导致项目启动失败。所以之后在开发的时候在父项目中把依赖的版本号都写清楚。统一稳定使用的版本

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价