我们正在尝试为此设置我们自己的转换器,Spring Data Mongo并遇到了问题。
好像Spring从不要求registerConvertersIn使用CustomConversions,因此通过重写添加的自定义转换器AbstractMongoConfiguration#customConversions永远不会成为转换的一部分。
我们正在使用Spring Data Mongo 1.6.3,但对于1.8.0来说似乎也可能是个问题(我检查了对的调用,CustomConversions#registerConvertersIn但均未找到。)
我可以通过这样的CustomConversions#registerConvertersIn自定义调用来解决此问题MappingMongoConverter:
class MongoConfig extends AbstractMongoConfiguration {
@Bean
@Override
public MappingMongoConverter mappingMongoConverter() throws Exception {
DbRefResolver dbRefResolver = new DefaultDbRefResolver(mongoDbFactory());
MappingMongoConverter converter = new MappingMongoConverter(dbRefResolver, mongoMappingContext()) {
@Override
public void setCustomConversions(CustomConversions conversions) {
super.setCustomConversions(conversions);
conversions.registerConvertersIn(conversionService);
}
};
converter.setCustomConversions(customConversions());
return converter;
}
}
Run Code Online (Sandbox Code Playgroud)
那是一个错误还是我们做错了什么?
找到了另一种解决方法:https : //stackoverflow.com/a/14369998/4567261