diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryBean.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryBean.java index 2d73da945..cb0d287f1 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryBean.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryBean.java @@ -79,12 +79,22 @@ public class MongoRepositoryFactoryBean, S, ID exten * #createRepositoryFactory() */ @Override - protected RepositoryFactorySupport createRepositoryFactory() { + protected final RepositoryFactorySupport createRepositoryFactory() { - MongoRepositoryFactory factory = new MongoRepositoryFactory(template); + RepositoryFactorySupport factory = getFactoryInstance(template); factory.addQueryCreationListener(new IndexEnsuringQueryCreationListener(template)); return factory; } + + /** + * Creates and initializes a {@link RepositoryFactorySupport} instance. + * + * @param template + * @return + */ + protected RepositoryFactorySupport getFactoryInstance(MongoTemplate template) { + return new MongoRepositoryFactory(template); + } /* * (non-Javadoc)