最近有个重要的项目要求使用带自定义表单的工作流。要求灵活配置流程。选用了较稳定的Flowable6.72版本。但面临着一个问题。教材上,Flowable6.7.2要求匹配的SpringBoot版本是2.6.2.需要对项目的Boot版本从2.3releae升到2.6.2,其他还好。不存在有类编译问题或类找不到问题。就是这个循环依赖,2.3支持循环依赖,2.6默认是不支持的。由于个别同学业务代码质量问题,导致必须要支持循环依赖(重构有风险),支持的话需要在Application.yml里添加配置 spring.main.allow-circular-references: true,问题就来了。现有项目已经有20多个。不可能每个项目都去添加该配置。只能在上层通用的组件包中默认开启。于是有了下列分析 :
 在Spring的启动类中找到了如下线索:
 
 只需要在预准备bean工厂前将如下变量设置成true就行了:
 
 而正好Boot的监听器支持该设置,如下:
 
 通过该行代码,可以将Spring2.3无感升级到2.6.2版本。
















![[python]Markdown图片引用格式批处理桌面应用程序](python-Markdown%E5%9B%BE%E7%89%87%E5%BC%95%E7%94%A8%E6%A0%BC%E5%BC%8F%E6%89%B9%E5%A4%84%E7%90%86%E6%A1%8C%E9%9D%A2%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F/image-20240706075502201.png)


