Я настраиваю приложение MongoDB Spring MVC и пытаюсь использовать шаблон Service, DAO.
Я прочитал справочник Spring-Data-MongoDB здесь, но я не понимаю, в чем разница между MongoFactoryBean и SimpleMongoDbFactory.
Что было бы лучше и почему для создания bean-компонента MongoTemplate.
@Configuration
public class SpringMongoConfig {
public @Bean
MongoDbFactory mongoDbFactory() throws Exception {
return new SimpleMongoDbFactory(new MongoClient(), "yourdb");
}
public @Bean
MongoTemplate mongoTemplate() throws Exception {
MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory());
return mongoTemplate;
}
}
OR.
@Bean
public MongoFactoryBean mongo() {
MongoFactoryBean mongo = new MongoFactoryBean();
mongo.setHost(env.getProperty("db.host"));
mongo.setPort(env.getProperty("db.port",Integer.class,27017));
return mongo;
}
@Bean
public MongoTemplate mongoTemplate() throws Exception{
return new MongoTemplate(mongo().getObject(),env.getProperty("db.name"));
}
Когда я использую MongoFactoryBean и когда я использую MongoDbFactory? У них разные варианты использования?
Кроме того, как лучше всего загрузить MongoDB в Spring MVC таким образом, чтобы он был легко масштабируемым и настраиваемым, а также предоставлял возможность подключения любой другой СУБД (для той же или другой функциональности). (Возможно, два разных DAO для разных типов БД?)