gpt4 book ai didi

java - MongoFactoryBean 和 SimpleMongoDbFactory 的区别

转载 作者:IT老高 更新时间:2023-10-28 13:15:32 24 4
gpt4 key购买 nike

我正在设置一个 MongoDB Spring MVC 应用程序并尝试使用服务,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;
}
}

或。

@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(用于相同或不同功能)的配置。 (对于不同的 DB 类型可能有两个不同的 DAO 实现?)

最佳答案

我很惊讶这个问题仍然没有得到回答。尽管这可能不是您要寻找的确切答案,但这是我的看法。我发现使用第二种方法 MongoFactoryBean 是最好的方法。

仅仅是因为有更多的配置选项。例如,如果您想设置一个异常翻译器,您可以使用 MongoFactoryBean 轻松完成。

如果我没记错的话,可能我记错了,MongoFactoryBean 是为了方便 MongoDbFactory。意思是,它增加了另一层抽象。

总而言之,采用第二种方法。

关于java - MongoFactoryBean 和 SimpleMongoDbFactory 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21629500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com