项目中需要在访问两个数据库,这时候需要用到配置双数据源的写法,这里简单介绍一下对于MongoDB该怎么写。
先配置application.yml:
spring:
data:
mongodb:
primary:
uri: mongodb://localhost:27017/tp
secondary:
uri: mongodb://localhost:27017/detect
然后写一个抽象类AbstractMongoConfig:
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import com.mongodb.MongoClientURI;
public abstract class AbstractMongoConfig {
//连接MongoDB地址
private String uri;
/**
* 获取mongoDBTtemplate对象
*/
public abstract MongoTemplate getMongoTemplate() throws Exception;
/**
* 创建mongoDb工厂
*/
public MongoDbFactory mongoDbFactory() throws Exception {
MongoClientURI mongoclienturi = new MongoClientURI(uri);
return new SimpleMongoDbFactory(mongoclienturi);
}
public String getUri() {
return uri;
}
public void setUri(String uri) {
this.uri = uri;
}
}
然后写两个实现类PrimaryMongoConfig: