关于IOC容器的这些事
问题背景
在解决“流程表达式动态寻找审批人”时,遇到的一个问题:
没有将这个服务类(SysUserServiceImpl)注册到可以被表达式访问的上下文中
对于SpringBoot集成的项目来说,看到这个问题,其实就应该想到分层解耦的相关知识点,之前看黑马视频做的笔记:
解决办法
也就是说,想要解决“没有将服务类注册到可以被表达式访问的上下文中”这个问题,其实就是需要将需要使用的类,交给IOC容器管理,使他成为bean对象
因为这个项目是SpringBoot集成了Flowable,所以这样一来,流程引擎才可访问到bean集合里的该服务类,这样在表达式中使用时,流程引擎就能找到对应的服务类了。也就是说,只需要在需要使用的类上面加上下面这4个注解就行了:

如何使用呢?
注意看到笔记里的”注意事项“里说的:

使用时,要么手动通过Value属性设置想要的名字(如userService),然后在流程表达式中直接使用这个修改的名字即可。
还有就是直接使用默认名字:类名首字母小写(sysUserServiceImpl)

两种都可以!
继续深究
那为什么,SpringBoot集成了Flowable之后,只需要把类放到IOC容器中管理,就可以让Flowable流程引擎访问到了呢?
在SpringBoot中,还有何为所谓的**“上下文”**?
等待后续有时间了再来解决这些问题吧!

被折叠的 条评论
为什么被折叠?



