activiti5 學習 【背景-介紹-整合springBoot-springDataJpa】

最近項目需要,學習了一下activiti5這個框架。

介紹工作流

  網上工作流的定義一大堆,這裏就不去複製了,通俗的理解,工作流就是類似OA系統中請假審批、報銷審批等一系列流程,下級提交的申請只有直系領導才能審批,其他人是沒有權限的,而只有直系領導審批通過後,直系領導的直系領導纔可以看到申請,並進行審批,以此類推。。。

準備環境

1) JDK1.6或者更高版本(我這裏是使用1.8)

2) 支持的數據庫有:h2, mysql, oracle, postgres, mssql, db2等。

3) springboot以及SpringDataJpa配置

4) 開發環境爲eclipse 與 IDEA 2018 (練習爲eclipse  項目開發爲IDEA)

5)工作流版本(activiti5.22.0)這裏是項目需要,個人推薦學6或7

安裝流程設計器(IDEA)

1.搜索插件

點擊菜單【File】-->【Settings...】打開【Settings】窗口。

點擊左側【Plugins】按鈕,在右側輸出"actiBPM",點擊下面的【Search in repositories】鏈接會打開【Browse Repositories】窗口。

一開始沒有安裝過這個插件的會顯示No Plugins found.search inreposties 

進入【Browse Repositories】窗口,選中左側的【actiBPM】,點擊右側的【Install】按鈕,開始安裝。

最後完成安裝。

安裝流程設計器(eclipse插件)

方案一:

有網絡的情況下,安裝流程設計器步驟如下:

1) 打開 Help -> Install New Software. 在如下面板中:

2) 在如下Install界面板中,點擊Add按鈕:

 

3) 然後填入下列字段

Name: Activiti BPMN 2.0 designer

Location: http://activiti.org/designer/update/

4) 回到Install界面,在面板正中列表中把所有展示出來的項目都勾上:

5) 點擊複選框

在Detail部分記得選中 "Contact all updates sites.." , 因爲它會檢查所有當前安裝所需要的插件並可以被Eclipse下載.

6) 安裝完以後,點擊新建工程new->Other…打開面板,如果看到下圖內容:

說明安裝成功了。

 

方案二

沒有網絡的情況下,安裝流程設計器步驟如下:

首先下載離線插件包:

 https://files.cnblogs.com/files/lm970585581/activiti.zip

將壓縮包解壓後

這兩個文件夾複製到Eclipse根目錄下 ,重啓即可

注意:

打開菜單Windows->Preferences->Activiti->Save下流程流程圖片的生成方式:

雖然流程引擎在單獨部署bpmn文件時會自動生成圖片,但在實際開發過程中,自動生成的圖片會導致和BPMN中的座標有出入,在實際項目中展示流程當前位置圖會有問題。

所在完成以上配置後,會由我們自己來管理流程圖片。在發佈流程時把流程規則文件和流程圖片一起上傳就行了。

準備Activiti5開發環境

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		
		<dependency>
	        <groupId>mysql</groupId>
	        <artifactId>mysql-connector-java</artifactId>
	        <scope>runtime</scope>
	    </dependency>
	    
	    <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
            <scope>runtime</scope>
        </dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<optional>true</optional>
		</dependency>

		<dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter-basic</artifactId>
            <version>5.22.0</version>
		</dependency>
		<dependency>
	        <groupId>org.activiti</groupId>
	        <artifactId>activiti-spring</artifactId>
	        <version>5.22.0</version>
	    </dependency>
	    <dependency>
	        <groupId>org.activiti</groupId>
	        <artifactId>activiti-modeler</artifactId>
	        <version>5.22.0</version>
	    </dependency>

        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-diagram-rest</artifactId>
            <version>5.22.0</version>
        </dependency>
        
		<dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter-jpa</artifactId>
            <version>5.22.0</version>
		</dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>

		
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database=MYSQL
spring.jpa.show-sql=true
spring.activiti.check-process-definitions=false
spring.datasource.url=jdbc:mysql://?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.maxActive=20
spring.datasource.initialSize=4
spring.datasource.maxWait=60000
spring.datasource.minIdle=1
spring.datasource.testWhileIdle=true
spring.security.user.name=
spring.security.user.password=

環境準備完成!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章