您的位置:首页 > 编程语言 > Java开发

org.springframework.beans.ConversionNotSupportedException

2016-01-08 22:19 447 查看
</pre>使用ssh2时遇到的异常:<p></p><p></p><pre name="code" class="java">/*
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
<span style="background-color: rgb(255, 255, 255);"><span style="color:#ff0000;">org.springframework.beans.factory.BeanCreationException:</span></span> 
Error creating bean with name 'testAction' defined in ServletContext resource [/WEB-INF/classes/spring.xml]: Initialization of bean failed;
nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'com.sun.proxy.$Proxy14 implementing com.buaa.goods.service.IUserService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised' to required type 'com.buaa.goods.service.impl.UserService' for property 'userService'; 
nested exception is java.lang.IllegalStateException: Cannot convert value of type [com.sun.proxy.$Proxy14 implementing com.buaa.goods.service.IUserService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [com.buaa.goods.service.impl.UserService] for property 'userService': no matching editors or conversion strategy found
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:557)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:842)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:416)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:261)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:192)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5003)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5517)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1263)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1978)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: <span style="color:#ff0000;">org.springframework.beans.ConversionNotSupportedException:</span> 
Failed to convert property value of type 'com.sun.proxy.$Proxy14 implementing com.buaa.goods.service.IUserService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised' to <span style="color:#ffff00;background-color: rgb(51, 51, 255);">required type 'com.buaa.goods.service.impl.UserService' for property 'userService'</span>; 
nested exception is java.lang.IllegalStateException: Cannot convert value of type [com.sun.proxy.$Proxy14 implementing com.buaa.goods.service.IUserService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [com.buaa.goods.service.impl.UserService] for property 'userService': no matching editors or conversion strategy found
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:462)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1351)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1310)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1067)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511)
... 24 more
Caused by: <span style="color:#ff0000;">java.lang.IllegalStateException:</span> 
Cannot convert value of type [com.sun.proxy.$Proxy14 implementing com.buaa.goods.service.IUserService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [com.buaa.goods.service.impl.UserService] for property 'userService': no matching editors or conversion strategy found
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:289)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:154)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:452)
... 28 more
*/


这个异常的重点在代码中的蓝色背景:大概意思是(要求使用接口,而你没有使用接口,就会报这个异常)

解决办法:

将下面的变量userService声明:

<span style="font-size:12px;">public class MyAction extends ActionSupport {

private static final long serialVersionUID = 1L;

private UserService userService;
private String verifycode;
private User user = new User();

//......

}</span>
类UserService改为接口IUserService:

<span style="font-size:12px;">public class MyAction extends ActionSupport {

private static final long serialVersionUID = 1L;

private IUserService userService;
private String verifycode;
private User user = new User();

//......

}</span>


总结:Spring注入的是接口,关联的是实现类。 这里注入了实现类,所以报异常了。

OK.搞定。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: