import lombok.Setter;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import java.util.ArrayList;
import java.util.List;
@Getter
@Setter
public abstract class AbstractMongoConfigure {
private String host;
private int port;
private String username;
private String password;
private String database;
public MongoDbFactory mongoDbFactory() throws Exception {
/*// 无认证的初始化方法
return new SimpleMongoDbFactory(new MongoClient(host, port), database);*/
//有认证的初始化方法
ServerAddress serverAddress = new ServerAddress(host, port);
List mongoCredentialList = new ArrayList<>();
MongoCredential mongoCredential = MongoCredential.createCredential(username, database, password.toCharArray());
mongoCredentialList.add(mongoCredential);
return new SimpleMongoDbFactory(new MongoClient(serverAddress, mongoCredentialList), database);
}
abstract public MongoTemplate getMongoTemplate() throws Exception;
}
数据源加载需要继承 AbstractMongoConfigure 抽象类,有多少个数据源就需要新建多少个数据源