Ich richte eine MongoDB Spring MVC-Anwendung ein und versuche Service, DAO-Muster zu verwenden.Unterschied zwischen MongoFactoryBean und SimpleMongoDbFactory
Ich las die Spring-Data-MongoDB Referenz here, aber ich verstehe nicht, was der Unterschied zwischen MongoFactoryBean und SimpleMongoDbFactory ist.
Was wäre ein besserer Weg, und warum, um eine MongoTemplate Bean zu erstellen.
@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;
}
}
ODER.
@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"));
}
Wann verwende ich MongoFactoryBean und wann verwende ich MongoDbFactory? Haben sie unterschiedliche Anwendungsfälle?
Auch was wäre die beste Möglichkeit, MongoDB in Spring MVC zu starten, so dass es in hohem Grade skalierbar und konfigurierbar ist, und bietet auch die Möglichkeit, jedes andere RDBMS (für gleiche oder andere Funktion) anzuschließen. (Zwei verschiedene DAO-Impls für verschiedene DB-Typen vielleicht?)
P. S: Ich möchte halten basierte Konfiguration so weit wie möglich annotaion. – justshams