与其让Spring实例化mongodb存储库“ OrderRepository”,还可以如下动态创建它:
MongoCredential mongoCredential = MongoCredential.createCredential(
dbUsername, "admin", dbPassword.toCharArray());
MongoClient mongoClient = new MongoClient(new ServerAddress(dbHost, Integer.valueOf(dbPort)), mongoCredential, new MongoClientOptions.Builder().build());
MongoTemplate mongoOps = new MongoTemplate(mongoClient, dbName);
OrderRepository repository = new MongoRepositoryFactory(mongoOps).getRepository(OrderRepository.class);
这意味着启动时不需要数据库连接详细信息。
我试图对SolrCrudRepository实施相同的模式无济于事。
SolrClient solrClient = new HttpSolrClient.Builder(host).build();
SolrTemplate solrTemplate = new SolrTemplate(solrClient);
solrRepositoryFactory = new SolrRepositoryFactory(solrTemplate );
OrderRepository repository = solrRepositoryFactory.getRepository(OrderRepository.class);
以上操作无效。 solrTemplate或solrRepositoryFactory没有正确实例化。