springboot操作多个Mongodb的database如何配置application.properties文件
时间: 2024-05-12 08:20:17 浏览: 143
springboot-mongodb的多数据源配置的方法步骤
要在Spring Boot中操作多个MongoDB数据库,需要在application.properties文件中为每个数据库配置不同的数据源和MongoTemplate。
示例配置文件如下:
```
# 配置第一个数据源
spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.port=27017
spring.data.mongodb.database=db1
spring.data.mongodb.username=username1
spring.data.mongodb.password=password1
# 配置第二个数据源
spring.data.mongodb2.host=127.0.0.1
spring.data.mongodb2.port=27017
spring.data.mongodb2.database=db2
spring.data.mongodb2.username=username2
spring.data.mongodb2.password=password2
```
在代码中,可以使用`@Configuration`注解创建两个MongoDB的配置类,分别为每个数据库创建不同的`MongoTemplate`实例。
示例代码如下:
```
@Configuration
@EnableMongoRepositories(basePackages = "com.example.db1.repository",
mongoTemplateRef = "db1MongoTemplate")
public class Db1MongoConfig {
@Bean
@Primary
public MongoProperties db1MongoProperties() {
return new MongoProperties();
}
@Bean(name = "db1MongoTemplate")
@Primary
public MongoTemplate db1MongoTemplate() throws Exception {
return new MongoTemplate(db1MongoProperties().createMongoClient(), "db1");
}
}
@Configuration
@EnableMongoRepositories(basePackages = "com.example.db2.repository",
mongoTemplateRef = "db2MongoTemplate")
public class Db2MongoConfig {
@Bean
public MongoProperties db2MongoProperties() {
return new MongoProperties();
}
@Bean(name = "db2MongoTemplate")
public MongoTemplate db2MongoTemplate() throws Exception {
return new MongoTemplate(db2MongoProperties().createMongoClient(), "db2");
}
}
```
在以上示例代码中,`@EnableMongoRepositories`注解用于指定每个数据库的repository接口所在的包路径,以及使用哪个`MongoTemplate`实例。
使用`@Primary`注解标记一个`MongoTemplate`实例,表示它是默认的数据源,当没有使用`@Qualifier`注解指定数据源时,会默认使用`@Primary`注解标记的数据源。
以上就是在Spring Boot中操作多个MongoDB数据库的配置和代码示例。
阅读全文