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 Objectsされるマッパーオブジェクトを含めることです。DTOだから私はそれが基本的な依存性注入であるべきだと思いますか?

助けてくれてありがとう。

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 に答える