您可以通过扩展类来编写自己的 MongoClient,但它真的需要吗?不必要。
MongoClientOptions 提供了可以配置的属性列表
使用 MongoClient 的以下构造函数
public MongoClient(List serveraddress, List credentialsList, MongoClientOptions options) { super(seeds, credentialsList, options); }
传递凭据列表、服务器地址列表及其选项。
使用 MongoClient 创建 SimpleMongoDBFactory
最后使用 MongoDbFactory 创建一个 MongoTemplate
将所有内容放在一起:
@Bean(destroyMethod="close")
MongoClient mongoClient(MongoClientOptions mongoClientOptions){
MongoClient mongoClient=new MongoClient(serverAddresses(),credentails(),mongoClientOptions);
return mongoClient;
}
@Bean
public MongoClientOptions mongoClientOptions(){
MongoClientOptions.Builder builder = MongoClientOptions.builder();
MongoClientOptions options=builder.sslEnabled(true).build();
return options;
}
@Bean
public MongoDbFactory mongoDbFactory(MongoClientOptions mongoClientOptions) throws Exception {
return new SimpleMongoDbFactory(mongoClient(mongoClientOptions), "yourdb");
}
@Bean
public MongoTemplate mongoTemplate(MongoClientOptions mongoClientOptions) throws Exception {
MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory(mongoClientOptions));
return mongoTemplate;
}