我想问个jsf spring集成的问题

weijieyan 2010-03-19
我在managedbean里用  @ManagedProperty(value="#{userDao}")注入了dao,这个userdao是TransactionProxyFactoryBean生成的代理对象,程序在注入的时候就出错了,错误显示Caused by: javax.el.ELException: java.lang.IllegalArgumentException: Cannot convert com.yongjie.dao.userdao@49073a of type class $Proxy128 to class com.yongjie.dao.userdao
at com.sun.el.ExpressionFactoryImpl.coerceToType(ExpressionFactoryImpl.java:68)
at com.sun.faces.el.ELUtils.coerce(ELUtils.java:534)
at com.sun.faces.mgbean.BeanBuilder$Expression.evaluate(BeanBuilder.java:592)
at com.sun.faces.mgbean.ManagedBeanBuilder$BakedBeanProperty.set(ManagedBeanBuilder.java:606)
... 60 more
Caused by: java.lang.IllegalArgumentException: Cannot convert com.yongjie.dao.userdao@49073a of type class $Proxy128 to class com.yongjie.dao.userdao
at com.sun.el.lang.ELSupport.coerceToType(ELSupport.java:397)
at com.sun.el.ExpressionFactoryImpl.coerceToType(ExpressionFactoryImpl.java:66)
我水平太臭,实在想不出原因,请各位高手过路看看原因。
nihaoyoushang 2010-03-24
Cannot convert com.yongjie.dao.userdao

你注入的 对么?
zhanhongbo1112 2010-05-07
因为你是在类上,而不是在接口上加的注解,而Spring集成的默认配置是JDK的代理,它是在接口上注释的配置。
你将其改为cglib的代理就可以了。
具体的,你多看看Spring官方文档吧!我就不贴代码了。这问题我也遇到过
weijieyan 2010-06-08
谢谢两位大侠,问题解决了
Global site tag (gtag.js) - Google Analytics