小编Kon*_*rov的帖子

在Spring Data Mongo中设置自定义转换器

我们正在尝试为此设置我们自己的转换器,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

java spring mongodb mongodb-java spring-data-mongodb

2
推荐指数
4
解决办法
4640
查看次数