MongoTwoConfig.java 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package com.mooctest.config;
  2. import com.mongodb.MongoClient;
  3. import com.mongodb.MongoClientOptions;
  4. import com.mongodb.MongoCredential;
  5. import com.mongodb.ServerAddress;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.beans.factory.annotation.Qualifier;
  8. import org.springframework.beans.factory.annotation.Value;
  9. import org.springframework.boot.autoconfigure.mongo.MongoProperties;
  10. import org.springframework.boot.context.properties.ConfigurationProperties;
  11. import org.springframework.context.annotation.Bean;
  12. import org.springframework.context.annotation.Configuration;
  13. import org.springframework.context.annotation.Primary;
  14. import org.springframework.core.env.Environment;
  15. import org.springframework.data.mongodb.MongoDbFactory;
  16. import org.springframework.data.mongodb.core.MongoTemplate;
  17. import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
  18. import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
  19. import java.util.ArrayList;
  20. import java.util.List;
  21. @Configuration
  22. @EnableMongoRepositories(
  23. basePackages = "com.mooctest.dao2",
  24. mongoTemplateRef = "mongoTemplate2")
  25. public class MongoTwoConfig{
  26. @Value("${mongodb2.host}")
  27. private String host;
  28. @Value("${mongodb2.database}")
  29. private String database;
  30. @Value("${mongodb2.port}")
  31. private int port;
  32. // @Value("${mongodb2.username}")
  33. // private String username;
  34. // @Value("${mongodb2.password}")
  35. // private String password;
  36. //Setter methods go here..
  37. /*
  38. * 创建MongoDBFactory的方法
  39. * 两个MongoDB连接共用
  40. */
  41. public MongoDbFactory mongoDbFactory2() throws Exception {
  42. // List<ServerAddress> seeds = new ArrayList<>();
  43. // ServerAddress serverAddress = new ServerAddress(host, port);
  44. // seeds.add(serverAddress);
  45. // List<MongoCredential> mongoCredentialList = new ArrayList<>();
  46. // mongoCredentialList.add(MongoCredential.createCredential(username, database, password.toCharArray()));
  47. // return new SimpleMongoDbFactory(new MongoClient(seeds, mongoCredentialList), database);
  48. return new SimpleMongoDbFactory(new MongoClient(host, port), database);
  49. }
  50. public @Bean(name = "mongoTemplate2") MongoTemplate getMongoTemplate() throws Exception {
  51. return new MongoTemplate(mongoDbFactory2());
  52. }
  53. }