我正在设置 MongoDB Spring MVC 应用程序并尝试使用 Service、DAO 模式。
我阅读了 Spring-Data-MongoDB 参考here,但我不明白 MongoFactoryBean 和 SimpleMongoDbFactory 之间有什么区别。
创建 MongoTemplate bean 的更好方法是什么?为什么?
@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 中的最佳方式是什么,使其具有高度可扩展性和可配置性,并且还提供插入任何其他 RDBMS(用于相同或不同功能)的规定。 (也许针对不同的数据库类型有两种不同的 DAO 实现?)