package com.mooctest.config; import com.mongodb.MongoClient; import com.mongodb.MongoClientOptions; import com.mongodb.MongoCredential; import com.mongodb.ServerAddress; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.mongo.MongoProperties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.core.env.Environment; import org.springframework.data.mongodb.MongoDbFactory; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.SimpleMongoDbFactory; import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; import java.util.ArrayList; import java.util.List; @Configuration @EnableMongoRepositories( basePackages = "com.mooctest.dao2", mongoTemplateRef = "mongoTemplate2") public class MongoTwoConfig{ @Value("${mongodb2.host}") private String host; @Value("${mongodb2.database}") private String database; @Value("${mongodb2.port}") private int port; // @Value("${mongodb2.username}") // private String username; // @Value("${mongodb2.password}") // private String password; //Setter methods go here.. /* * 创建MongoDBFactory的方法 * 两个MongoDB连接共用 */ public MongoDbFactory mongoDbFactory2() throws Exception { // List seeds = new ArrayList<>(); // ServerAddress serverAddress = new ServerAddress(host, port); // seeds.add(serverAddress); // List mongoCredentialList = new ArrayList<>(); // mongoCredentialList.add(MongoCredential.createCredential(username, database, password.toCharArray())); // return new SimpleMongoDbFactory(new MongoClient(seeds, mongoCredentialList), database); return new SimpleMongoDbFactory(new MongoClient(host, port), database); } public @Bean(name = "mongoTemplate2") MongoTemplate getMongoTemplate() throws Exception { return new MongoTemplate(mongoDbFactory2()); } }