Spring Boot 2.3.4.RELEASE下MongoTemplate Bean配置方案咨询
Spring Boot 2.3.4.RELEASE 配置MongoTemplate Bean的正确方式
简化版配置(直接用连接字符串)
如果不需要复杂的MongoClient配置,直接通过连接字符串构建数据库工厂即可,代码如下:
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory; @Configuration public class MongoConfig { @Bean public SimpleMongoClientDatabaseFactory mongoDatabaseFactory() { // 连接字符串格式:mongodb://[用户名:密码@]主机:端口/数据库名 return new SimpleMongoClientDatabaseFactory("mongodb://localhost:27017/MGXPI413"); } @Bean public MongoTemplate mongoTemplate() { return new MongoTemplate(mongoDatabaseFactory()); } }
自定义MongoClient版配置(适合需要连接池、认证等复杂配置的场景)
如果需要对MongoClient做更多自定义配置(比如连接池大小、超时时间、认证参数等),可以单独创建MongoClient Bean:
import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory; @Configuration public class MongoConfig { @Bean public MongoClient mongoClient() { // 这里可以通过MongoClientSettings构建更复杂的配置 return MongoClients.create("mongodb://localhost:27017"); } @Bean public SimpleMongoClientDatabaseFactory mongoDatabaseFactory(MongoClient mongoClient) { return new SimpleMongoClientDatabaseFactory(mongoClient, "MGXPI413"); } @Bean public MongoTemplate mongoTemplate(SimpleMongoClientDatabaseFactory mongoDatabaseFactory) { return new MongoTemplate(mongoDatabaseFactory); } }
关键说明
- 废弃的
SimpleMongoDbFactory已被SimpleMongoClientDatabaseFactory替代,后者是Spring Data MongoDB 2.x及以上版本的推荐实现 - 避免使用
MongoClientURI,直接传入字符串格式的连接字符串更符合新版本的API设计 - 确保项目已引入Spring Data MongoDB依赖,Maven依赖配置如下:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
内容的提问来源于stack exchange,提问作者Chinmay Chikode
相关产品推荐
相关产品推荐

