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.搞定。
相关文章推荐
- Java中的线程池(2)
- SpringMVC配置数据库连接池
- Aio--Java异步IO的 Socket Demo
- 删除指定值的结点
- JAVA_HOME环境的配置
- Java读取并修改图片的像素值
- 【慕课笔记】第二章 变量和常量 第5节 JAVA中的数据类型
- Spring拦截器
- 在使用Eclipse开发大小写快捷键使用问题
- java多态性
- 如何开始创建第一个基于Spring MVC的Controller
- Java中的线程池(1)
- 【慕课笔记】第二章 变量和常量 第4节 如何命名JAVA变量
- 【原创】用JAVA实现大文件上传及显示进度信息
- java lowpoly低多边形风格图片生成
- Controller注解形式做Spring MVC开发
- JDK目录介绍
- JAVA正则表达式:Pattern类与Matcher类详解
- Android Studio设置Android SDK、Android JDK、Android NDK路径
- Spring4.2.0 集成 Spring-scurity4.0.3框架