@TOC
之前写过一篇基于Flowable 6.2.1的流程设计器整合和破解教程,一度认识了很多对工作流感兴趣的小伙伴们。后来有些伙伴联系我,希望我可以整理一份关于最新Flowable和Spring Boot的流程设计器整合教程。其实心里也一直有这个计划,这不,默默利用下班时间钻研了半个多月,终于整出来了,有需要的同学可以好好看看。还是那句话,思路很重要,其余的能力慢慢补充。^_^ !
本文主要为了开发学习和分享,转载请注明出处。Flowable的使用请尽量使用官方发布版本,涉及知识产权部分请谨慎使用,尤其是公司产品开发过程中,请特别注意!
手机用户请
横屏
获取最佳阅读体验,REFERENCES
中是本文参考的链接,如需要链接和更多资源,可以关注其他博客发布地址。
平台 | 地址 |
---|---|
CSDN | https://blog.csdn.net/sinat_28690417 |
简书 | https://www.jianshu.com/u/3032cc862300 |
个人博客 | http://xiazhaoyang.tech/ |
开发环境
主要是项目核心依赖jar、静态文件的获取、静态资源访问配置等
gradle 主要依赖
dependencies {
compile "org.springframework.boot:spring-boot-starter-web"
compile "org.flowable:flowable-ui-modeler-rest:6.4.1"
compile "org.flowable:flowable-ui-modeler-conf:6.4.1"
compile libs["mysql-connector-java"]
testCompile "org.springframework.boot:spring-boot-starter-test"
}
官网下载flowable-modeler.war,下载并解压其中静态文件集成到项目中
官网提供的github下载地址比较慢,可以直接从下文的百度网盘中获取。
>>>百度网盘下载地址
配置静态资源访问
后台资源访问
前端路由配置
两个文件中都增加路由前缀。为的是构造restDispatchServlet来扫描Mapping注入Spring容器。
@Configuration
public class ServletConfiguration {
@Bean
public ServletRegistrationBean appDispatcherServlet(){
//注解扫描上下文
AnnotationConfigWebApplicationContext applicationContext
= new AnnotationConfigWebApplicationContext();
//base package
applicationContext.scan("org.flowable.modeler.rest","org.flowable.ui.modeler");
//通过构造函数指定dispatcherServlet的上下文
DispatcherServlet appdispatcherServlet
= new DispatcherServlet(applicationContext);
//用ServletRegistrationBean包装servlet
ServletRegistrationBean registrationBean
= new ServletRegistrationBean(appdispatcherServlet);
registrationBean.setLoadOnStartup(2);
//指定urlmapping
registrationBean.addUrlMappings("/activiti/*");
//指定name,如果不指定默认为dispatcherServlet
registrationBean.setName("appDispatcherServlet");
return registrationBean;
}
}
经过上文的配置,基本静态资源的访问和接口的访问已经是没问题了,但是flowable在分模块开发后,已经集成了Spring Security 进行安全校验的拦截。这个拦截的存在,无法使我们的后台和前端简历一个正常的交互。下面我们开始破解安全校验的拦截。
启动类忽略扫描Spring Security配置相关的配置类
@SpringBootApplication
@EnableAutoConfiguration(exclude = {
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
})
@ComponentScan(basePackages = {"com.example.modeler.common"})
public class CapsuleFlowableModelerApplication {
public static void main(String[] args) {
SpringApplication.run(CapsuleFlowableModelerApplication.class, args);
}
}
此处主要为了取消Spring Security的默认拦截。
构造虚拟用户,跳过所有鉴权
此处选择需要处理的主要是和权限相关的类和请求Handle就行了,多余的无需覆盖。
mysql 中文数据插入乱码
>>>2019-03-17-mysql-case
之前写的一篇文章,可以结合起来看。
[ Flowable ] 与modeler流程设计器整合教程
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有