Yes, it appears the documented way of doing this is not possible because of the circular reference. This abomination is a workaround:
Code:
<bean id="conversionService" class="org.springframework.core.convert.support.DefaultConversionService"/>
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="org.springframework.core.convert.support.ConversionServiceFactory"/>
<property name="targetMethod" value="registerConverters"/>
<property name="arguments">
<util:list>
<set>
<bean class="org.springframework.data.repository.support.DomainClassConverter">
<constructor-arg ref="conversionService"/>
</bean>
</set>
<ref bean="conversionService"/>
</util:list>
</property>
</bean>
The reason this works is the registration of converters is delayed until after the conversion service has been instantiated, breaking the circular instantiation dependency.