我有一个用Spring配置的Mongo映射转换器,如下所示:
<mongo:mapping-converter>
<mongo:custom-converters>
<mongo:converter>
<bean class="com.pqbook.marc.mongo.converters.MarcRecordMongoReaderConverter" />
</mongo:converter>
</mongo:custom-converters>
</mongo:mapping-converter>
我有一个Mongo系列,其类型为&#39;记录&#39;将被阅读并转换为我的自定义POJO类型&#39; MyRecord&#39;。 我的转换器类看起来像这样:
@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 :(得分: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>