Esta resposta pode estar um pouco atrasada para o OP, mas acabei de encontrar o mesmo problema hoje e encontrei uma solução ...
Para configurá-lo programaticamente, você precisa chamar
MongoMappingConverter.afterPropertiesSet()
antes de usá-lo. Percebi isso lendo o código para MongoTemplate.getDefaultMongoConverter(MongoDbFactory)
. Aqui está um exemplo:
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);