7

编辑:引入了一个新的库,它阐明了新版本的内容

从 5.5.0 版开始,Spring 集成包含在附加模块 dozer-spring 中。


嗨,我对 Dozer 和 Spring 还比较陌生,对如何将它们实施起来有点困惑。

从推土机网站:http ://dozer.sourceforge.net/documentation/usage.html

弹簧集成 ...

<bean id="mapper" class="org.dozer.DozerBeanMapper">
  <property name="mappingFiles">
    <list>
      <value>dozer-global-configuration.xml</value>            
      <value>dozer-bean-mappings.xml</value>
      <value>more-dozer-bean-mappings.xml</value>
    </list>
  </property>
</bean>

现在来自http://dozer.sourceforge.net/documentation/springintegration.html

<bean class="org.dozer.spring.DozerBeanMapperFactoryBean">
    <property name="mappingFiles" value="classpath*:/*mapping.xml"/>
    <property name="customConverters">
        <list>
            <bean class="org.dozer.converters.CustomConverter"/>      
        </list>
    </property>
    <property name="eventListeners">
        <list>
            <bean class="org.dozer.listeners.EventListener"/>
        </list>
    </property>
    <property name="factories">
        <map>
            <entry key="id" value-ref="bean-factory-ref"/>
        </map>
    </property>
</bean>

所以我不确定我应该以哪种方式使用它。我的目标是在我的业务类中有一个映射器对象,它将转换Business ObjectsDTO(和反向)。所以我认为它应该是一个基本的依赖注入?

谢谢你的帮助。

4

1 回答 1

11

两者都是有效的方法,只需将此映射器作为依赖项注入负责映射的服务类中,例如:

@Service
public class MyMappingService{
 @Autowired DozerBeanMapper dozerBeanMapper;
}

使用 DozerBeanMapperFactoryBean 沿着这些路线的方法应该有效:

<bean class="org.dozer.spring.DozerBeanMapperFactoryBean">
....
</bean>

这将返回一个映射器实例,因此只需以这种方式注入一个映射器类型:

@Service
public class MyMappingService{
 @Autowired Mapper dozerBeanMapper;
}
于 2012-11-10T17:38:34.773 回答