2012-12-20 4 views
5

spring-mvc 3.2.RELEASEプロジェクトでは、org.springframework.data.repository.support.DomainClassConverterを使用して、簡単にエンティティを注入できます。デフォルトを維持したままカスタム変換サービスを登録しますか?

<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" /> 

しかし、その後春はジョダ時間の種類を扱うためのフォーマッタをロードしていないと私は「java.lang.String型のプロパティ値を変換できませんでした取得:この設定を使用するとき

それが正常に動作します「プロパティに必要な型org.joda.time.LocalDateへ

ジョダ変換が実体注入を作品だけでなく

<annotation-driven/> 

を使用します。

どのようにしてuppに配線すると両方の作業ができますか?

+0

あなたはあなたが間違っていたことを理解したことがありますか? –

答えて

3

これが質問に答えるかどうかはわかりませんが、同様の問題が発生しました。これが解決した方法です。

私は結果が何@NA説明したdocumentation

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

を使用して、カスタムコンバータおよび変換サービスを実施していた - これはデフォルトのジョダ時間のサポートを失いませんし、無関係なコントローラで次のように定義は、もはや

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

解決策は、org.springframework.context.support.ConversionServiceFactoryBeanを使用する代わりに、org.springframework.format.support.FormattingConversionServiceFactoryBeanを使い始めました。

+0

これはうまくいきますが、ドキュメントからFormattingConversionServiceFactoryBeanがリストを取得してデフォルトに追加しますが、ConversionServiceFactoryBeanはリストを完全に置き換えます。 –

関連する問題