2016-12-29 5 views
2

Я отображение конвертер Монго сконфигурирован в весеннем XML следующим образом:Монго отображение преобразователь не вызывается

<mongo:mapping-converter> 
    <mongo:custom-converters> 
     <mongo:converter> 
      <bean class="com.pqbook.marc.mongo.converters.MarcRecordMongoReaderConverter" /> 
     </mongo:converter> 
    </mongo:custom-converters> 
</mongo:mapping-converter> 

У меня есть коллекция Монго, откуда поле типа «Record» следует читать и преобразовано в мой пользовательский тип POJO 'MyRecord'. Мой класс преобразования выглядит следующим образом:

@Component 
public class MarcRecordMongoReaderConverter implements Converter<Record, MyRecord> { 

@Override 
public MyRecord convert(Record source) { 
    // the conversion code 
    // this method returns an object of type 'MyRecord' 
} 

}

Мне нужно зарегистрировать этот конвертер иначе делать? В какой момент будет активирован этот преобразователь? Есть что-то, чего не хватает включить?

+0

Как настроен сканер пружинных компонентов? – Veeram

+0

В контексте: компонентное сканирование Я включил пакет класса преобразователя. – OnePlus

ответ

0

Ваша конфигурация должна выглядеть примерно так. Вам необходимо зарегистрировать конвертер с шаблоном mongo.

<mongo:mongo host="127.0.0.1" port="27017" /> 
    <mongo:db-factory dbname="test" /> 

    <mongo:mapping-converter id="mappingConverter" base-package="com.pqbook.marc.mongo"> 
     <mongo:custom-converters> 
      <mongo:converter> 
       <bean class="com.pqbook.marc.mongo.converters.MarcRecordMongoReaderConverter" /> 
      </mongo:converter> 
     </mongo:custom-converters> 
    </mongo:mapping-converter> 

    <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> 
     <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" /> 
     <constructor-arg name="mongoConverter" ref="mappingConverter"/> 
    </bean> 
+0

У меня не было базового пакета в mongo: mapping-converter ранее. – OnePlus

+0

Вышеупомянутое решение работает. Благодаря! – OnePlus