Spring MVC整合Activiti 5.22及网页设计器

之前搞了两个星期的工作流,刚上手的时候,卧槽,这什么玩意儿,一脸蒙蔽,后来看了一些视频,又找了一些资料,百度了好久,算是知道了一些皮毛.把后台乱七八糟的东西整好,领导说,那你把网页流程设计器也弄进去吧.

WTF!弄啥嘞.

那就搞呗.又是百度了好久,然后网上也有很多教程,结果按网上的教程去弄,把项目搞得乱七八糟的,一会这里出个毛病,一会那里出个毛病,真是TM哔了狗了.

狗说,我招你惹你了.

才把东西弄好,现在是可以在线设计,然后保存下来,先写一些,免得忘了,后面项目整理之后再发个新的.

老罗说过,所有先吹一遍再看东西都是TMD耍流氓,作为一个有情怀的程序猿,少废话,看东西.

导包这里就不说了,但是我有个不成熟的猜测,在Activiti5.16之前是需要导入org.activiti.rest下的digram和editor目录下的包.

但是在5.16+的版本直接加入org.activiti.modeler.explorer目录下的包就行了.(这里是我个人的猜测,又不对的地方欢迎各位大佬的指正,谢谢各位大佬了)

页面设计器的一些文件也要加到webapp下,这里不再赘述.

首先是web.xml

  
  
    SpringMVC  
    org.springframework.web.servlet.DispatcherServlet  
      
        contextConfigLocation  
        classpath:spring-mvc.xml  
      
    1  
    true  
  
  
    SpringMVC  
      
    /


    SpringMVC
    /Activity_Demo/service/*

这里要注意的是/Activity_Demo/service/*

Activity_Demo是我的项目名,后面的service是固定的,这里需要说明一下,这个路径和editor-app下的app-cfg.js路径相同

如图所示:

var ACTIVITI = ACTIVITI || {};

ACTIVITI.CONFIG = {
   'contextRoot' : '/Activity_Demo/service',
};

这地方弄得我死去活来的,改着改着要么页面不显示模块,要么保存时报空指针(到现在我也没弄清楚里面具体的什么情况,请原谅我才疏学浅).

网上说modeler.html及相关的样式也需要修改,这个一找一大堆,不说了.

然后依赖:


    org.activiti
    activiti-engine
    ${activiti.version}


    org.activiti
    activiti-spring
    ${activiti.version}


    org.activiti
    activiti-rest
    ${activiti.version}
 

    <groupId>org.activitigroupId>
    activiti-modeler
    ${activiti.version}



    <groupId>org.activitigroupId>
    activiti-diagram-rest
    ${activiti.version}




    <groupId>org.activitigroupId>
    activiti-explorer
    5.16
    
        
            vaadin
            com.vaadin
        
        
            dcharts-widget
            org.vaadin.addons
        
        
            activiti-simple-workflow
            org.activiti
        
    

这地方注意一下版本号:

4.1.5.RELEASE
5.22.0

主版本号是5.22,explorer的版本号是5.16的,坦率的说,我不知道有没有什影响,但是目前来说还没有出现什么问题,等到后面有问题再继续改.

spring-mvc配置:


<context:component-scan base-package="org.activiti.rest.editor,org.activiti.rest.diagram">
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
context:component-scan>


class="org.activiti.rest.service.api.RestResponseFactory" id="restResponseFactory">
class="org.activiti.rest.common.application.DefaultContentTypeResolver" id="contentTypeResolver">



注释部分是我之前自己Copy过来的类,但是加了新的扫描之后,启动时Spring会报错,然后在网上看了一些demo感觉Copy出来的那些类貌似并没有用到,所以我猜测在不同版本中整合可能会有差异,后期我自己尝试去验证一下.

<bean id="objectMapper" class="com.fasterxml.jackson.databind.ObjectMapper" />

这个比较重要,在rest.editor.model文件夹下的两个类都有注入这个

@Autowired
private ObjectMapper objectMapper;

service有四个类直接复制粘贴过来就行了

Spring MVC整合Activiti 5.22及网页设计器_第1张图片

具体路径忘接了,大家可以直接用名称搜一下就找到了,也可以去看一下咖啡兔大大的demo,那里面也能找到

https://github.com/henryyan/kft-activiti-demo

git直接拷过来找一下吧,demo里有一些东西还是可以参考的,具体的环境,配置之类的东西还是自己搭起来慢慢琢磨比较好.

OK,先写那么多,等会去跑一下,看看还有没有其他的问题,到时候回来再补充补充.

自己慢慢琢磨感觉很慢,可能是自己很笨吧,也请各位大大指点一二,谢谢.

你可能感兴趣的:(Activiti,Spring,Activiti,5,SpringMVC)