【问题标题】:Dozer and Spring integration推土机和弹簧集成
【发布时间】:2012-11-10 15:20:33
【问题描述】:

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

从 5.5.0 版开始,Spring 集成包含在附加模块中 推土机弹簧。


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

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

Spring 集成 ...

<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 Objects 转换为DTO(反之亦然)。 所以我认为它应该是一个基本的依赖注入?

感谢您的帮助。

【问题讨论】:

    标签: spring dozer


    【解决方案1】:

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

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

    使用 DozerBeanMapperFactoryBean 的方法应该可以工作:

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

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

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

    【讨论】:

    • 您能告诉我直接使用 Bean Mapper Factory Bean 代替映射器的区别吗?也许配置选项?无论如何,谢谢,我要测试第一个命题
    • DozerBeanMapperFactoryBean 是一个 Spring 工厂 bean,它返回 Mapper 实例,听起来更适合 Spring 依赖注入,我用一个例子修改了答案。
    • 我终于选择了 DozerBeanMapper 解决方案。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    相关资源
    最近更新 更多