首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring.Core.TypeMismatchException:无法转换类型的属性[.]改为所需类型[.]

Spring.Core.TypeMismatchException:无法转换类型的属性[.]改为所需类型[.]
EN

Stack Overflow用户
提问于 2013-05-23 10:13:51
回答 1查看 2K关注 0票数 0

我的问题是,在对我正在处理的项目进行了tfs更新之后,我再也不能做任何测试了。在更新之前,它成功了,但是现在每次在我的testclass‘Spring.Core.TypeMismatchException方法中运行ContextRegistry.GetContext()方法时,我都会得到一个Init()

MyProjectDao上唯一的更改是其方法中的更改,并添加了属性。并且已经向SpringContext.xml添加了一个服务。

这是我得到的例外:

创建上下文‘Spring.root’的System.Configuration.ConfigurationErrorsException: System.Configuration.ConfigurationErrorsException:错误: PropertyAccessExceptionsException (1个错误);嵌套PropertyAccessExceptions是: [ CompositionAopProxy_f81c875c2f994f88bb773f5743050b67 :不能将属性'MyProjectDao‘的属性值转换为所需的类型MyProject.Dao.MyProjectDao,内部异常:不能将CompositionAopProxy_f81c875c2f994f88bb773f5743050b67类型的属性值转换为属性’MyProjectDao‘所需的类型MyProject.Dao.MyProjectDao。在Spring.Core.TypeConversion.TypeConversionUtils.ConvertValueIfNecessary(Type requiredType,Object newValue嵌套的CompositionAopProxy_f81c875c2f994f88bb773f5743050b67是:[Spring.Core.TypeMismatchException:不能将属性'MyProjectDao‘的类型MyProject.Dao.MyProjectDao转换为必需的类型MyProject.Dao.MyProjectDao。内部异常: Spring.Core.TypeMismatchException:不能将属性’MyProjectDao‘的类型MyProject.Dao.MyProjectDao转换为必需的类型MyProject.Dao.MyProjectDao。在Spring.Core.TypeConversion.TypeConversionUtils.ConvertValueIfNecessary(Type requiredType,Object newValue,String propertyName)在f:\bamboo-home\xml-data\build-dir\SPRNET-RELEASE-JOB1\src\Spring\Spring.Core\Core\TypeConversion\TypeConversionUtils.cs:MyProject 211中。]-> Spring.Objects.PropertyAccessExceptionsException: PropertyAccessExceptionsException (1错误);嵌套的CompositionAopProxy_f81c875c2f994f88bb773f5743050b67是:[Spring.Core.TypeMismatchException:不能将属性'MyProjectDao‘的类型MyProject.Dao.MyProjectDao转换为必需的类型MyProject.Dao.MyProjectDao。内部异常: Spring.Core.TypeMismatchException:不能将属性’MyProjectDao‘的类型MyProject.Dao.MyProjectDao转换为必需的类型MyProject.Dao.MyProjectDao。在Spring.Core.TypeConversion.TypeConversionUtils.ConvertValueIfNecessary(Type requiredType,Object newValue,String propertyName)在f:\bamboo-home\xml-data\build-dir\SPRNET-RELEASE-JOB1\src\Spring\Spring.Core\Core\TypeConversion\TypeConversionUtils.cs:MyProject 211中.]。

MyProjectDao类如下所示:

代码语言:javascript
复制
namespace MyProject.Dao
{
    [DataAccessObject]
    [Transaction(TransactionPropagation.Mandatory)]
    public class MyProjectDao : IMyProjectDao
    {
        public ISessionFactory SessionFactory { private get; set; }

        // ... Methods ... 
    }
}

IMyProjectDao接口:

代码语言:javascript
复制
namespace MyProject.Dao
{
    public interface IMyProjectDao
    {
        // ... Methods ... 
    }
}

这是我SpringContext.xml的一部分

代码语言:javascript
复制
<!-- ######################## -->
<!--            DAO           -->
<!-- ######################## -->

<object id="MyProjectDao" type="MyProject.Dao.MyProjectDao, MyProject">
    <property name="SessionFactory" ref="SessionFactory" />
</object>

<!-- ######################## -->
<!--          Service         -->
<!-- ######################## -->

<object id="MyProjectService" type="MyProject.Service.MyProjectService, MyProject">
    <property name="MyProjectDao"       ref="MyProjectDao" />
    <property name="PersistenceService" ref="PersistenceService" />
    <property name="DeletedObjectCache" ref="DeletedObjectCache" />
</object>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-24 22:03:49

您是为IMyProjectDao属性在MyProjectService中使用接口' MyProjectDao‘,还是使用类’MyProjectDao‘。

如果使用该类,请将其更改为接口。

将MyProjectService类中的属性更改为:

代码语言:javascript
复制
public MyProjectDao MyProjectDao { get; set; }

代码语言:javascript
复制
public IMyProjectDao MyProjectDao { get; set; }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16711223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档