2012-11-10 18 views
5

EDIT:新しいlibにバージョン5.5.0 Spring統合は ドーザスプリングの追加モジュール内に入っているので、新しいバージョンドーザーとSpring統合

のための事を明確化が導入されました。


そこにこんにちは、私は場所でそれを置く方法については、比較的ドーザーと春に新しく、少し困惑しています。 http://dozer.sourceforge.net/documentation/springintegration.htmlから今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> 

:ドーザウェブサイトから

<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(と逆の)に変換するビジネスクラスのマッパーオブジェクトを持つことです。 基本的な依存性注入でなければならないと思いますか?

ありがとうございました。

答えて

9

両方が例えば、ただのマッピングを担当するサービスクラスの依存関係として、このマッパーを注入、有効なアプローチです:DozerBeanMapperFactoryBeanで

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

これらの線に沿ってのアプローチは動作するはずです:

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

これはマッパーインスタンスを返します。このようにマッパータイプで注入するだけです:

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

y mapperの代わりにBean Mapper Factory Beanを使用することの違いを教えてください。たぶん構成オプション?とにかく、私は最初の命題でテストを行っています –

+0

DozerBeanMapperFactoryBeanはMapperインスタンスを返すSpringファクトリBeanであり、Spring依存性注入に適しているように聞こえますが、私は例を使って答えを修正しました。 –

+0

私はついにDozerBeanMapperソリューションを使いました。ありがとう。 –