java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy0[解决方法]

Caused by: java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy0 implementing com.mysoft.applications.database.interfaces.MyInterface,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [ibatis.ibator.services.TestService] for property ‘service’: no matching editors or conversion strategy found
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:231)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:386)
… 42 more

在配置事务时加入了aspectjweaver.jar这个包后出现了这个问题。

本文来源:http://blog.csdn.net/taochenpfj/archive/2009/07/29/4390158.aspx

如果在Spring配置文件中配置的事务是通过AOP标签实现的,那就在中增加proxy-target-class=”true”属性。就异常显示的信息可以看到,Spring在转换时,主要是将代理类转换成接口,反而不能转换成实际类。

如果是通过bean方式增加事务控制,则在配置文件中增加

<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">  
<property name="proxyTargetClass">
       <value>true</value>
       </property>
</bean>

上面这段配置信息只是一部分。其他的各位再摸索吧!

这里有个兄弟也是这样的问题,他的是bean控制事务的http://longterm.javaeye.com/blog/394395




fatkun

13条评论

发表评论

电子邮件地址不会被公开。