在项目中由于使用jbpm4整合spring
在jbpm4.4使用了AssignmentHandler获取spring的bean.
基于注释
是取不到spring的bean.由于spring 采取 BeanFactory机制,要使用spring管理的bean,对应的AssignmentHandler实现类也必须交给spring管理。
在jbpm3中,spring提供一个整合的jar包。
但是这个jar包不适合jbpm4.
干脆使用xml
spring配置文件里添加了基于xml的bean定义和引用
可是程序运行userRole还是为null
bean没有定义
一般在使用开源框架的时候,排解思路是
1.看代码。2.看xml文件。3.看配置文件。
看看配置文件,有个属性引起我的注意
我试着修改xml文件
解决问题。
查看相关问题
《Spring专业开发指南》里面讲到这个事情。根据作者的意思,name是id的一个补充。
在jbpm4.4使用了AssignmentHandler获取spring的bean.
基于注释
@Resource(name="userService")
private TUserService userService;
是取不到spring的bean.由于spring 采取 BeanFactory机制,要使用spring管理的bean,对应的AssignmentHandler实现类也必须交给spring管理。
在jbpm3中,spring提供一个整合的jar包。
但是这个jar包不适合jbpm4.
干脆使用xml
spring配置文件里添加了基于xml的bean定义和引用
<bean id="role"
class="com.shangwang.workFlow.UserRoleUtil">
<property name="sqlMapClient" ref="sqlMapClient" />
</bean>
可是程序运行userRole还是为null
No bean named 'role' is defined
bean没有定义
一般在使用开源框架的时候,排解思路是
1.看代码。2.看xml文件。3.看配置文件。
看看配置文件,有个属性引起我的注意
default-autowire="byName"
我试着修改xml文件
<bean name="role" id="role"
class="com.shangwang.workFlow.UserRoleUtil">
<property name="sqlMapClient" ref="sqlMapClient" />
</bean>
解决问题。
查看相关问题
《Spring专业开发指南》里面讲到这个事情。根据作者的意思,name是id的一个补充。