Set MongoDb converter programmatically

后端 未结 6 1683
無奈伤痛
無奈伤痛 2020-12-01 08:20

I\'m trying to use a custom converter with spring-data-mongodb. I want to create it programmatically, but I get the following error:

org.springframework.core         


        
6条回答
  •  清歌不尽
    2020-12-01 08:47

    This answer may be a little late for the OP, but I just ran into the same problem today and found a solution...

    To set it up programmatically, you need to call MongoMappingConverter.afterPropertiesSet() before you use it. I realized this from reading the code for MongoTemplate.getDefaultMongoConverter(MongoDbFactory).

    Here's an example:

    MappingMongoConverter converter = new MappingMongoConverter(mongoDbFactory, context);
    converter.setTypeMapper(mapper);
    converter.setCustomConversions(new CustomConversions(
            Arrays.asList(
                    new TimeZoneReadConverter(),
                    new TimeZoneWriteConverter()
            )
    ));
    converter.afterPropertiesSet();
    MongoTemplate template = new MongoTemplate(mongoDbFactory, converter);
    

提交回复
热议问题