2012-11-10 45 views
5

編輯:一個新的lib中已經引入了澄清事情的新版本推土機和Spring集成

自版本5.5.0 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(反過來)。 所以我認爲它應該是一個基本的依賴注入?

感謝您的任何幫助。

回答

9

都是有效的方法,只是注入這個映射器在服務類,負責測繪的依賴,比如:

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

隨着DozerBeanMapperFactoryBean沿着這些線路的辦法應該工作:

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

這將返回一個映射器實例,因此只是注入的映射器類型是這樣的:

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

將ÿ你介意告訴我直接使用Bean Mapper Factory Bean而不是Mapper的區別嗎?也許配置選項?無論如何,我要進行一個測試,第一個命題 –

+0

DozerBeanMapperFactoryBean是一個Spring工廠bean,它返回Mapper實例,聽起來更適合Spring依賴注入,我用一個例子修改了答案。 –

+0

我終於與DozerBeanMapper解決方案一起使用了。謝謝。 –