sping bean的id,name引起的 No bean named 'role' is defined

在项目中由于使用jbpm4整合spring
在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的一个补充。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值