Activiti(六)SSH项目实战

1.1 创建项目

这里写图片描述

1.2 添加Jar包

这里写图片描述
1.3 更改配置文件

1.3.1 连接数据库

这里写图片描述
1.3.2 Spring文件的配置

这里写图片描述

2 项目配置

applicationContext-dao.xml

<bean id="employeeDao" class="cn.itcast.ssh.dao.impl.EmployeeDaoImpl" parent="baseDao">
</bean>

<bean id="leaveBillDao" class="cn.itcast.ssh.dao.impl.LeaveBillDaoImpl" parent="baseDao">
</bean>

这里说明一下:
parent=”baseDao”等同于

<bean id="baseDao" abstract="true">
<propertyname="sessionFactory"ref="sessionFactory"></property>
</bean>

这里写图片描述

applicationContext-service.xml

    <bean id="employeeService" class="cn.itcast.ssh.service.impl.EmployeeServiceImpl">
    <property name="employeeDao" ref="employeeDao"></property>    <!-- 员工-->
    </bean>
    <bean id="leaveBillService" class="cn.itcast.ssh.service.impl.LeaveBillServiceImpl">
    <property name="leaveBillDao" ref="leaveBillDao"></property> <!-- 请假单-->
    </bean>
    <bean id="workflowService" class="cn.itcast.ssh.service.impl.WorkflowServiceImpl">
    <property name="repositoryService" ref="repositoryService"></property>
    <property name="runtimeService" ref="runtimeService"></property>
    <property name="taskService" ref="taskService"></property>
    <property name="formService" ref="formService"></property>
    <property name="historyService" ref="historyService"></property>
    <property name="leaveBillDao" ref="leaveBillDao"></property>
    </bean>

这里写图片描述

applicationContext-action.xml

<bean id="loginAction" class="cn.itcast.ssh.web.action.LoginAction" scope="prototype">
<property name="employeeService" ref="employeeService"></property>
</bean>
<bean id="leaveBillAction" class="cn.itcast.ssh.web.action.LeaveBillAction" scope="prototype">
<property name="leaveBillService" ref="leaveBillService"></property>
</bean>
<bean id="workflowAction" class="cn.itcast.ssh.web.action.WorkflowAction" scope="prototype"><!--MVC默认是单例,改为多例-->
<property name="workflowService" ref="workflowService"></property>
<property name="leaveBillService" ref="leaveBillService"></property>
</bean>

这里写图片描述

activiti-context.xml,配置activiti表和事物以及service 不用创建流程引擎 直接引入就可以

<!-- spring负责创建流程引擎的配置文件 -->
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<!-- 数据源 -->
<property name="dataSource" ref="dataSource" />
<!-- 配置事务管理器,统一事务 -->
<property name="transactionManager" ref="transManager" />
<!-- 设置建表策略,如果没有表,自动创建表 -->
<property name="databaseSchemaUpdate" value="true" />
</bean>
<!-- 创建流程引擎对象 -->
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean>

<!-- 
相当于下面的代码
RepositoryServicie repositoryService = processEngine.getRepositoryService();
RuntimeServicie repositoryService = processEngine.getRuntimeServicie();
TaskServicie taskServicie = processEngine.getTaskServicie();
HistoryServicie historyServicie = processEngine.getHistoryServicie();
 -->
<!-- 由流程引擎对象,提供的方法,创建项目中使用的Activiti工作流的Service -->
<!--静态注入 定义processEngine可以点出来service
-->
<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
<bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
<bean id="formService" factory-bean="processEngine" factory-method="getFormService" />

struts的配置

<struts>
    <!-- 配置模式为开发模式,自动加载struts.xml和显示错误提示信息 -->
    <constant name="struts.devMode" value="true" />
    <!-- 设置页面主题为简单主题,去掉struts2开发提供的样式 -->
    <constant name="struts.ui.theme" value="simple" />

    <package name="default" namespace="/" extends="struts-default">
    <!-- 拦截器配置 -->
    <interceptors>
    <!-- 定义了一个用于拦截器登录的拦截器 -->
    <interceptor name="loginInterceptor" class="cn.itcast.ssh.utils.LoginInteceptor"></interceptor>
    <!-- 定义一个拦截器栈 -->
    <interceptor-stack name="systemStack">
    <interceptor-ref name="defaultStack" />
    <interceptor-ref name="loginInterceptor" />
</interceptor-stack>
    </interceptors>

  <!-- 定义系统默认拦截器 全局 -->
<default-interceptor-ref name="systemStack" /> 
    <!-- 全局结果视图 -->
    <global-results>
    <result name="login" type="redirect">
    login.jsp
    </result>
    </global-results>

    <action name="loginAction_*" class="loginAction" method="{1}">
        <result name="success">WEB-INF/views/main.jsp</result>
        <result name="top">WEB-INF/views/top.jsp</result>
        <result name="left">WEB-INF/views/left.jsp</result>
        <result name="welcome">WEB-INF/views/welcome.jsp</result>
        </action>

        <action name="leaveBillAction_*" class="leaveBillAction" method="{1}">
            <result name="home">WEB-INF/views/leaveBill/list.jsp</result>
            <result name="input">WEB-INF/views/leaveBill/input.jsp</result>
            <result name="save" type="redirectAction">
        <param name="actionName">leaveBillAction_home.action</param>
        </result>
        </action>

    <action name="workflowAction_*" class="workflowAction" method="{1}">
        <result name="list" type="redirectAction">
        <param name="actionName">workflowAction_deployHome.action</param>
        </result>
        <result name="deployHome">WEB-INF/views/workflow/workflow.jsp</result>
        <result name="task">WEB-INF/views/workflow/task.jsp</result>
        <result name="image">WEB-INF/views/workflow/image.jsp</result>
        <result name="listTask" type="redirectAction">
    <param name="actionName">workflowAction_listTask.action</param>
            </result>
        <result name="viewTaskForm" type="redirectAction">
        <param name="actionName">/workflowAction_audit.action</param>
        </result>
        <result name="taskForm">WEB-INF/views/workflow/taskForm.jsp</result>
            <result name="viewHisComment">WEB-INF/views/workflow/taskFormHis.jsp</result>
        </action>
    </package>
</struts>

这里写图片描述

配置数据库表

这里写图片描述

这里写图片描述

3 流程图

这里写图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值