maven快速入门番外篇——使用maven整合SSH报错:java.lang.IllegalStateException: Cannot convert value of type...
发布日期:2021-06-30 17:54:58
浏览次数:2
分类:技术文章
本文共 3614 字,大约阅读时间需要 12 分钟。
问题描述
今天我使用maven整合SSH时,创建了一个如下结构的聚合工程。
从上图可以看出,我的项目结构是一个父工程与多个子工程。其中,crm-web子工程依赖于crm-service子工程,crm-service子工程又依赖于crm-dao子工程。当所有子工程的代码开发好之后,通过crm-web子工程的pom.xml文件中配置的tomcat7插件来运行crm-web子工程时,该子工程确实是部署到tomcat服务器上去了,并成功运行起来了,如下图所示。 但是,通过Google Chrome浏览器访问http://localhost:8080/crm/customer_list
这样的url地址时,给我报错了,错误提示信息如下图所示。 下面是更精准的错误提示信息。仔细看看,你知道出错的根本原因了吗? java.lang.IllegalStateException: Cannot convert value of type [com.sun.proxy.$Proxy51 implementing com.meimeixia.crm.service.ICustomerService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [com.meimeixia.crm.service.impl.CustomerService] for property 'customerService': no matching editors or conversion strategy found org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:302) org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary(AbstractNestablePropertyAccessor.java:576) org.springframework.beans.AbstractNestablePropertyAccessor.convertForProperty(AbstractNestablePropertyAccessor.java:603) org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:204) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1527) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1486) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:325) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1048) com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:161) com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:178) com.opensymphony.xwork2.factory.DefaultActionFactory.buildAction(DefaultActionFactory.java:22) com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:148) com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:295) com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:395) com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:194) org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63) org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:37) com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58) org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:554) org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81) org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
出错原因
根据上面详细的错误提示信息可知,报错的根本原因就是Spring在转换时,主要是将代理类转换成接口,而不能转换成实际类。
解决办法
在使用Spring进行aop开发的时候,需要设置proxy-target-class这个属性的值,以决定是基于接口还是类被代理,若proxy-target-class属性的值为true,则表示是基于类被代理。
所以,要想解决这个问题,我们需要在crm-service子模块的applicationContext-service.xml配置文件中配置aop时,注明可以基于类被代理,即在<aop:cnfig>
标签上添加proxy-target-class="true"
。
转载地址:https://liayun.blog.csdn.net/article/details/103731483 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月05日 23时46分17秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
软件质量的8个特性
2019-04-30
应届渣渣前端的艰难求职之路
2019-04-30
2021年不可错过的17种JS优化技巧(一)
2019-04-30
月薪15~20k的前端面试问什么?
2019-04-30
在 Vue 中用 Axios 异步请求API
2019-04-30
mysql——介绍及安装与基本用法
2019-04-30
MySQL数据库之索引
2019-04-30
MYSQL——事务操作+视图+存储引擎
2019-04-30
Mysql——完全备份+增量备份+备份恢复
2019-04-30
MySQL进阶查询(SELECT 语句高级用法)
2019-04-30
Mysql 之主从复制
2019-04-30
LVS负载均衡------NAT模式
2019-04-30
squid代理-----透明代理模式
2019-04-30
squid代理介绍----ACL控制应用+sarg日志分析+反向代理
2019-04-30
redis集群之主从模式+哨兵模式
2019-04-30
JavaScript原生开关灯效果
2019-04-30
企业邮箱如何申请注册,邮箱申请如何免费注册?
2019-04-30
微信企业邮箱,手机邮箱格式地址怎么写?
2019-04-30