Spring整合Activiti工作流


代碼地址如下:
http://www.demodashi.com/demo/11911.html

一、 前期准備

安裝必要的開發環境

eclipse/intellij+maven 3.5.x + tomcat 7/8/9+mysql 5.x

將sql目錄下面的5個SQL文件導入數據庫中

二、 程序實現

1. 項目結構

項目結構

web頁面代碼結構

2. 主要配置
  1. 流程引擎的配置

在activiti.cfg.xml和spring-mybatis.xml配置文件中,主要配置了流程引擎,數據源(用於流程引擎自動生成與之相關的數據表)

 <!--流程引擎配置-->
    <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
        <property name="dataSource" ref="dataSource"/>
        <property name="transactionManager" ref="transactionManager"/>
        <property name="databaseSchemaUpdate" value="true"/>
    </bean>
	
	<bean id="dbProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath:jdbc.properties"/>
        <property name="ignoreUnresolvablePlaceholders" value="true"/>
    </bean>
	
	 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="defaultAutoCommit" value="false"/>
    </bean>

    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
2. spring與mybatis的整合
<!-- import jdbc.properties -->
	<context:property-placeholder location="classpath:jdbc.properties" ignore-unresolvable="true" />

	<!-- <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="${jdbc.driver}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
	</bean>

	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<!-- 自動掃描mapping.xml文件 -->
		<property name="mapperLocations" value="classpath:com/activiti/mapping/*.xml"></property>
	</bean>

	<!-- 裝配dao接口 -->
	<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.activiti.dao" /> <!-- DAO接口所在包名,Spring會自動查找其下的類 -->
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
	</bean>
3. Spring與SpringMVC整合

將SpringMVC整合進來,方便將前端結合起來

	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
		<property name="prefix" value="/WEB-INF/views" />
		<property name="suffix" value=".jsp" />
	</bean>
	
	<!-- 訪問靜態資源 -->
	<mvc:default-servlet-handler />

	<!-- 訪問靜態資源 -->
	<mvc:resources location="diagram-viewer/" mapping="diagram-viewer/**"/>
	<mvc:resources location="editor-app/" mapping="editor-app/**"/>
	<mvc:resources location="/" mapping="/**.html"/>
	<mvc:resources location="/" mapping="/**.jsp"/>
	
	<!-- 配置攔截器 -->
	<mvc:interceptors>
		<mvc:interceptor>
			<!-- /** 這里表示所有的url包括子url都進行攔截,如果是 /* ,則表示項目根url才會被攔截 -->
			<mvc:mapping path="/**" />
			<bean class="com.activiti.interceptor.LoginInterceptor"></bean>
		</mvc:interceptor>
	</mvc:interceptors>
4. java和頁面實現

這份代碼就不每個都粘貼了,是包含了相關頁面的和后台代碼的,具體的運行效果,看以下部分。

三、運行效果

Spring整合Activiti工作流

代碼地址如下:
http://www.demodashi.com/demo/11911.html

注:本文著作權歸作者,由demo大師代發,拒絕轉載,轉載需要作者授權


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM