1.创建mongo配置类
@Data
@Configuration
public abstract class MongoConfig {
private String uri;
abstract public MongoTemplate getMongoTemplate();
public SimpleMongoClientDbFactory mongodbFactory() {
return new SimpleMongoClientDbFactory(uri);
}
}
这个类的目的是为了配置 MongoDB 连接,并提供一个抽象方法 getMongoTemplate() 供子类实现,用于获取 MongoTemplate 对象
2.创建MongoConfig的实现类
/**
* prefix需要与配置文件中db1数据源的配置前缀对应
*/
@Configuration
@ConfigurationProperties(prefix = "spring.data.mongodb.db1")
public class MongoOneConfig extends MongoConfig {
@Primary //默认会注入此数据源的Template
@Bean(name = "mongoTemplateOne")
@Override
public MongoTemplate getMongoTemplate() {
return new MongoTemplate(mongodbFactory());
}
}
如有多个mongodb数据源,可创建多个MongoConfig的实现类
3.在application-xxx.xml文件中配置数据源
data:
mongodb:
db1:
uri: mongodb://username:password@ip:port/source
注:这样就可以实现mongodb的多数据源配置啦!如果只有一个数据源,则不需要上述三个步骤,只需要在application-xxx.xml文件中按照默认配置(如下所示)进行配置即可啦!
data:
mongodb:
uri: mongodb://username:password@ip:port/source