我正在设置MongoDB Spring MVC应用程序并尝试使用Service,DAO模式.
我在这里阅读了Spring-Data-MongoDB引用,但我不明白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;
}
}
Run Code Online (Sandbox Code Playgroud)
要么.
@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"));
}
Run Code Online (Sandbox Code Playgroud)
我何时使用MongoFactoryBean?何时使用MongoDbFactory?他们有不同的用例吗?
此外,将MongoDB引导到Spring MVC的最佳方式是,它具有高度可扩展性和可配置性,并且还提供插入任何其他RDBMS(相同或不同功能)的规定.(对于各种数据库类型,可能有两种不同的DAO impls?)