电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Spring和activiti進行整合過程解析

瀏覽:86日期:2023-09-17 16:13:12

一、整合原理

activiti的配置文件本身就是一個spring的配置文件,但默認情況下只講ProcessEngineConfiguration作為一個bean來使用,調用ProcessEngines.getDefaultProcessEngine()加載的就是配置文件中的這個bean。和spring整合后就可以把bean的管理讓spring來進行,在代碼中獲取任意的bean。

activiti提供了一個spring模塊,在一個spring工程中引入這個模塊就能夠整合

<dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring</artifactId> <version>5.22.0</version></dependency>

并且引入這個依賴后就不需要再單獨引入activiti的依賴了,這里邊已經包含了

二、整合步驟

2.1 新建一個maven工程并導入相關依賴

<dependencies> <!--spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.2.RELEASE</version> </dependency> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring</artifactId> <version>5.22.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.26</version> </dependency> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency></dependencies>

這里導入了spring,activiti,數據庫驅動等依賴。

2.2 創建spring配置文件

在resources目錄下創建spring配置文件,applicationContext.xml,其中主要配置如下bean

(1)數據源(連接池)

(2)事務管理器(和spring整合后必須配置事務管理器)

(3)流程引擎配置對象,這里可以注入一些流程引擎的配置

(4)流程引擎對象

(5)activiti的服務組件,配置后在程序中可以直接從容器中獲取

完整的配置文件如下

<beans xmlns='http://www.springframework.org/schema/beans' xmlns:context='http://www.springframework.org/schema/context' xmlns:tx='http://www.springframework.org/schema/tx' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd'> <!-- 配置連接池 --> <bean class='com.mchange.v2.c3p0.ComboPooledDataSource'> <property name='driverClass' value='com.mysql.jdbc.Driver'/> <property name='jdbcUrl' value='jdbc:mysql://localhost:3306/activiti_01'/> <property name='user' value='root'/> <property name='password' value='root'/> </bean> <!-- 事務管理器 --> <bean class='org.springframework.jdbc.datasource.DataSourceTransactionManager'> <property name='dataSource' ref='dataSource'></property> </bean> <!-- 配置使用spring提供的的流程引擎配置對象 --> <bean class='org.activiti.spring.SpringProcessEngineConfiguration'> <property name='dataSource' ref='dataSource'></property> <property name='transactionManager' ref='transactionManager'></property> <property name='databaseSchemaUpdate' value='true'></property> <property name='deploymentResources' value='classpath*:/process/*.bpmn'></property> </bean> <!-- 配置流程引擎工廠bean,獲取這個bean就可以直接獲取到流程引擎對象 --> <!-- 注意這個不是使用靜態工廠來獲取bean --> <bean class='org.activiti.spring.ProcessEngineFactoryBean'> <property name='processEngineConfiguration' ref='processEngineConfiguration'></property> </bean> <!-- 配置activiti的服務組件 --> <!-- 這里是通過實例工廠來創建服務組件的對象 ProcessEngine類的父類EngineServices中有獲取服務組件的get方法,所以這里把processEngine當做實例工廠來使用, 而這幾個對象是在創建流程引擎配置對象時就new出來的 --> <bean factory-bean='processEngine' factory-method='getRepositoryService'> </bean> <bean factory-bean='processEngine' factory-method='getRuntimeService'> </bean> <bean factory-bean='processEngine' factory-method='getTaskService'> </bean> <bean factory-bean='processEngine' factory-method='getHistoryService'> </bean></beans>

三、測試

在代碼中加載spring配置文件,并直接從容器里獲取服務組件,看能否直接使用服務組件

@Testpublic void test4() { ApplicationContext context = new ClassPathXmlApplicationContext('applicationContext.xml'); //通過容器獲取taskService組件 TaskService taskService= (TaskService) context.getBean('taskService'); System.out.println(taskService); List<Task> list = taskService.createTaskQuery().taskAssignee('tom').list(); for (Task task : list) { System.out.println(task); }}

如果能夠成功運行,說明activiti和spring已經整合完成了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | 深圳成考网-深圳成人高考报名网 深圳工程师职称评定条件及流程_深圳职称评审_职称评审-职称网 | 地埋式垃圾站厂家【佳星环保】小区压缩垃圾中转站转运站 | 电主轴,车床电磨头,变频制动电机-博山鸿达特种电机 | 太阳能发电系统-太阳能逆变器,控制器-河北沐天太阳能科技首页 | 合肥展厅设计-安徽展台设计-合肥展览公司-安徽奥美展览工程有限公司 | 淄博不锈钢,淄博不锈钢管,淄博不锈钢板-山东振远合金科技有限公司 | 罗茨真空机组,立式无油往复真空泵,2BV水环真空泵-力侨真空科技 | 打孔器,打孔钳厂家【温州新星德牌五金工具】 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 非甲烷总烃分析仪|环控百科| 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 电缆接头-防爆电缆接头-格兰头-金属电缆接头-防爆填料函 | AGV叉车|无人叉车|AGV智能叉车|AGV搬运车-江西丹巴赫机器人股份有限公司 | 喷砂机厂家_自动喷砂机生产_新瑞自动化喷砂除锈设备 | 成都LED显示屏丨室内户外全彩led屏厂家方案报价_四川诺显科技 | 地磅-地秤-江阴/无锡地磅-江阴天亿计量设备有限公司_ | 污水提升器,污水提升泵,污水提升装置-德国泽德(zehnder)水泵系统有限公司 | 冷水机-工业冷水机-冷水机组-欧科隆品牌保障 | 广东机电安装工程_中央空调工程_东莞装饰装修-广东粤标建设有限公司 | 【北京写字楼出租_写字楼租赁_办公室出租网/出售】-远行地产官网 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 软文推广发布平台_新闻稿件自助发布_媒体邀约-澜媒宝 | 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | 沈阳激光机-沈阳喷码机-沈阳光纤激光打标机-沈阳co2激光打标机 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 | 2025第九届世界无人机大会 | 悬浮拼装地板_幼儿园_篮球场_悬浮拼接地板-山东悬浮拼装地板厂家 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 精益专家 - 设备管理软件|HSE管理系统|设备管理系统|EHS安全管理系统 | 北京公寓出租网-北京酒店式公寓出租平台 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 阁楼货架_阁楼平台_仓库仓储设备_重型货架_广州金铁牛货架厂 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 电脑刺绣_绣花厂家_绣花章仔_织唛厂家-[源欣刺绣]潮牌刺绣打版定制绣花加工厂家 | 我爱古诗词_古诗词名句赏析学习平台 | 定时排水阀/排气阀-仪表三通旋塞阀-直角式脉冲电磁阀-永嘉良科阀门有限公司 |