我想问个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
谢谢两位大侠,问题解决了
|