我正在设置一个 MongoDB Spring MVC 应用程序并尝试使用服务,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;
}
}
或者。
@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 实现?)