2012-11-10 3 views
5

EDIT: Eine neue lib eingeführt wurde, was die Sache für neue VersionenDozer und Spring Integration

Seit Version 5.5.0 Frühling Integration in Zusatzmodul Dozer-Frühling kommt klären.


Hallo da bin ich relativ neu Dozer und Frühling und ein wenig verwirrt darüber, wie das in Stelle zu setzen.

Von der Planierraupe Website: http://dozer.sourceforge.net/documentation/usage.html

Frühling Integration ...

<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> 
Jetzt

von 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> 

Ich bin mir also nicht sicher, auf welche Weise ich es benutzen soll. Mein Ziel ist es, ein Mapper-Objekt in meinen Business-Klassen zu haben, das Business Objects in DTO (und umgekehrt) konvertiert. Also ich denke es sollte nur eine grundlegende Dependency Injection sein?

Danke für jede Hilfe. Beide

Antwort

9

gelten Ansätze, gerade diesen Mapper injizieren als eine Abhängigkeit in der Serviceklasse verantwortlich für die Zuordnung, zB:

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

Mit DozerBeanMapperFactoryBean des Ansatz in diese Richtung sollte funktionieren:

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

Dies gibt eine Mapper-Instanz zurück, also injiziere einfach einen Mapper-Typ auf diese Weise:

+0

Würde y Könntest du mir den Unterschied zwischen der Verwendung der Bean Mapper Factory Bean anstelle des Mappers direkt mitteilen? Vielleicht Konfigurationsmöglichkeiten? Danke sowieso, ich gehe auf einen Test mit der ersten Aussage –

+0

DozerBeanMapperFactoryBean ist eine Frühlingsfabrikbohne, die Mapperinstanzen zurückgibt und klingt, wie es für Frühjahrsabhängigkeitseinspritzung passender ist, ich habe die Antwort mit einem Beispiel geändert. –

+0

Ich ging schließlich mit der DozerBeanMapper Lösung. Vielen Dank. –