Esta respuesta puede llegar un poco tarde para el OP, pero me encontré con el mismo problema hoy y encontré una solución...
Para configurarlo mediante programación, debe llamar a MongoMappingConverter.afterPropertiesSet()
antes de usarlo. Me di cuenta de esto al leer el código de MongoTemplate.getDefaultMongoConverter(MongoDbFactory)
.
He aquí un ejemplo:
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);