2012-12-20 16 views
5

In un progetto spring-mvc 3.2.RELEASE Vorrei utilizzare org.springframework.data.repository.support.DomainClassConverter per ottenere facilmente le entità iniettate.Registrare un servizio di conversione personalizzato mantenendo i valori predefiniti?

Funziona bene quando si utilizza questa configurazione:

<beans:bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean" /> 

<beans:bean id="conversionService" 
    class="org.springframework.core.convert.support.DefaultConversionService" /> 

<beans:bean 
    class="org.springframework.data.repository.support.DomainClassConverter"> 
    <beans:constructor-arg ref="conversionService" /> 
</beans:bean> 

<annotation-driven conversion-service="conversionService" /> 

Ma poi di Primavera non sta caricando il formattatore per trattare con i tipi di tempo Joda e ottengo "Impossibile convertire il valore della proprietà di tipo java.lang.String al tipo org.joda.time.LocalDate necessaria per la proprietà"

Utilizzando solo

<annotation-driven/> 

lavori di conversione il Joda, ma non l'iniezione entità.

Come si collega e quindi funzionano entrambi?

+0

Hai mai capito cosa stavi facendo male? –

risposta

3

Non sono sicuro se questo risponde alla domanda, ma mi sono imbattuto in un problema simile ed è così che ho risolto.

avevo implementato un servizio di convertitore personalizzato e la conversione utilizzando il documentation

<bean id="conversionService" 
    class="org.springframework.context.support.ConversionServiceFactoryBean"> 
    <property name="converters"> 
     <list> 
      <bean class="example.MyCustomConverter"/> 
     </list> 
    </property> 
</bean> 

Il risultato è stato quello @NA descritto - questo perde il supporto predefinito Joda e la seguente definizione in un sistema di estranei non funziona più

@PathVariable(value="day") @DateTimeFormat(pattern=DATE_FORMAT) LocalDate date 

Le soluzioni invece di utilizzare org.springframework.context.support.ConversionServiceFactoryBean, ho iniziato a utilizzare org.springframework.format.support.FormattingConversionServiceFactoryBean.

+0

Funziona bene, ottengo dalla documentazione che FormattingConversionServiceFactoryBean prende l'elenco fornito e li aggiunge ai valori predefiniti ma ConversionServiceFactoryBean sostituisce completamente l'elenco. –

Problemi correlati