2012-12-20 15 views
5

एक वसंत-एमवीसी 3.2.RELEASE प्रोजेक्ट में मैं org.springframework.data.repository.support.DomainClassConverter का उपयोग करना चाहता हूं ताकि आसानी से मुझे इंजेक्शन इंजेक्शन मिल सके।डिफ़ॉल्ट बनाए रखने के दौरान एक कस्टम रूपांतरण सेवा पंजीकृत करें?

यह ठीक काम करता है जब इस config का उपयोग कर:

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

लेकिन फिर वसंत Joda समय प्रकार से निपटने के लिए फ़ॉर्मेटर लोड हो रहा है नहीं है और मैं "प्रकार java.lang.String की संपत्ति के मूल्य परिवर्तित करने में विफल हो संपत्ति के लिए आवश्यक प्रकार org.joda.time.LocalDate "

केवल

<annotation-driven/> 

Joda रूपांतरण काम करता है नहीं लेकिन इकाई इंजेक्शन का उपयोग करने के लिए।

आप इसे कैसे काम करते हैं तो दोनों काम करते हैं?

+0

क्या आपने कभी यह पता लगाया कि आप क्या गलत कर रहे थे? –

उत्तर

3

यह सुनिश्चित नहीं है कि यह प्रश्न का उत्तर दे, लेकिन मैं एक समान समस्या में आया और इस तरह मैंने इसे हल किया।

मैं documentation

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

परिणाम था क्या @NA वर्णित उपयोग कर एक कस्टम कनवर्टर और रूपांतरण सेवा लागू किया था - यह डिफ़ॉल्ट Joda समय समर्थन और एक असंबंधित नियंत्रक में निम्नलिखित परिभाषा नहीं रह गया है

काम करता है खो देता है
@PathVariable(value="day") @DateTimeFormat(pattern=DATE_FORMAT) LocalDate date 

समाधान org.springframework.context.support.ConversionServiceFactoryBean का उपयोग करने के बजाय समाधान था, मैंने org.springframework.format.support.FormattingConversionServiceFactoryBean का उपयोग करना शुरू किया।

+0

यह ठीक काम करता है, मैं प्रलेखन से प्राप्त करता हूं कि स्वरूपण कनवर्सन सर्विसफैक्टरीबीन प्रदान की गई सूची लेता है और उन्हें डिफ़ॉल्ट में जोड़ता है लेकिन रूपांतरण सेवाफैक्टरीबीन पूरी तरह से सूची को प्रतिस्थापित करता है। –