applicationConversionService注入错误 - 找不到匹配的编辑器或转换策略

时间:2014-05-29 11:42:27

标签: spring spring-mvc

我在application-context.xml中定义了一个应用程序转换服务。

<bean id="applicationConversionService"
    class="com.myer.reporting.converter.ApplicationConversionServiceFactoryBean"
    p:messageSource-ref="messageSource"/>

我正在尝试将其注入我的其他豆类中。

<bean id="bulletinBarMessageRowMapper" 
    class="com.myer.reporting.dao.mapper.BulletinBarMessageRowMapper" 
    scope="prototype"
    p:applicationConversionService-ref="applicationConversionService"/>

com.myer.reporting.dao.mapper.BulletinBarMessageRowMapper具有以下属性......

public class BulletinBarMessageRowMapper implements RowMapper<BulletinBarMessage>{

    private ApplicationConversionServiceFactoryBean applicationConversionService;

    public ApplicationConversionServiceFactoryBean getApplicationConversionService() {
        return applicationConversionService;
    }    
    public void setApplicationConversionService(
            ApplicationConversionServiceFactoryBean applicationConversionService) {
        this.applicationConversionService = applicationConversionService;
    }

看起来非常直接,但是因为以下错误而失败......

  

引起:org.springframework.beans.ConversionNotSupportedException:   无法转换类型的属性值   “org.springframework.format.support.DefaultFormat   tingConversionService'到必需的类型   “com.myer.reporting.converter.Applicatio   nConversionServiceFactoryBean'用于属性   'applicationConversionService';嵌套ed异常是   java.lang.IllegalStateException:无法转换类型[o   rg.springframework.format.support.DefaultFormattingConversionService]   要求d型   [com.myer.reporting.converter.ApplicationConversionServiceFactoryBean]   属性'applicationConversionService':没有匹配的编辑器或   发现转换策略

有人可以告诉我为什么会失败。我查了一些doco,似乎有一些提到Spring为我们自动配置的名为DefaultFormattingConversionService的bean可能会干扰但是我需要更多关于这里出错的信息。

我能想到的唯一可能导致此错误的是我使用...

<mvc:annotation-driven conversion-service="applicationConversionService"/>

感谢

1 个答案:

答案 0 :(得分:1)

这很奇怪的是,我没有通过xml注入,而是在我的课程中添加了一个autowire注释,它只是起作用了!

@Autowired
private ApplicationConversionServiceFactoryBean applicationConversionService;