Spring @Autowired bean为null

时间:2014-08-11 23:47:21

标签: spring dependency-injection dozer

我正在尝试使用Dozer在两种对象类型之间进行映射。我看了this question

我有以下代码从spring上下文中获取推土机映射器。出于某种原因,我将mapper始终视为null。为什么mapper总是为空?为什么春天没有实例化那个bean? 到目前为止,我无法弄清楚原因。我可能会犯一个愚蠢的错误,但到目前为止无法弄明白。

@Component
public class AccountConverterImpl implements Converter<AccountOutput, Account> {

@Autowired
Mapper mapper;

@Override
public AccountOutput convert(Account data) {

    return mapper.map(data, AccountOutput.class);

}

这是我的春天上下文文件

...
<!-- bean for dozer mapping-->
<bean id="mapper" class="org.dozer.DozerBeanMapper">
    <property name="mappingFiles">
        <list>
            <value>dto.mapping.xml</value>
        </list>
    </property>
</bean>

1 个答案:

答案 0 :(得分:0)

不要尝试。

mapper.map(data, AccountOutput.class) 方法调用AccountOutput.class的转换器,调用convert(Account data)方法。 convert再次调用map方法。