springboot中 如果配置打個(gè)數(shù)據(jù)源 默認(rèn)是讀取host port這些 沒(méi)有讀取url
spring:
data:
mongodb:
username: test
password: test
port: 8086
host: 127.0.0.1
authentication-database: admin
database: mongo_test
但是如果想配置多個(gè)數(shù)據(jù)源 需要用url的方式才能滿足需求,為了配置多個(gè)MongoDB的數(shù)據(jù)源,網(wǎng)上找了很多資料都不好用,特意記錄在這里 方便后面的兄弟姐妹使用
首先建立一個(gè)抽象的總類
@Data
public abstract class AbstractMongoConfig {
String url;
String database;
public MongoDbFactory mongoDbFactory() throws Exception {
return new SimpleMongoDbFactory(new MongoClient(new MongoClientURI(url)), database);
}
public abstract MongoTemplate getMongoTemplate() throws Exception;
}
然后配置分?jǐn)?shù)據(jù)源 如
@Configuration
@ConfigurationProperties(prefix = "spring.data.mongodb.mango-account")
public class AccountConfig extends AbstractMongoConfig{
@Override
@Primary
@Bean(name="accountMongoTemplate")
public MongoTemplate getMongoTemplate() throws Exception {
return new MongoTemplate(mongoDbFactory());
}
}
這樣就配置成功啦.如果還沒(méi)有配置成功的同學(xué) 可以點(diǎn)一下 看看源碼 我就是這樣配的